想把既存JAR包通过gradle publish 发布到Nexus
build.gradle文件
plugins {
id 'java'
id 'application'
id 'maven-publish'
}
version = '43'
group = 'LTsmfr2020.nkfw.jar'
def jarFile = file('jar/batik-all-1.13-43.jar')
artifacts {
archives jarFile
}
publishing {
publications {
maven(MavenPublication) {
groupId = project.group
artifactId = project.name
version = project.version
}
}
repositories {
maven {
allowInsecureProtocol = true
url = 'http://192.168.11.5:8081/repository/maven-releases/'
credentials {
username 'admin'
password 'admin'
}
}
}
}
运行结果及报错内容
POM文件上传成功,可是JAR包没有上传
请问因该怎么解决?
对比下你写的代码,这里有个成功的实例给你做参考【如何使用Gradle的maven-publish将jar包或者war包上传到nexus仓库】:http://t.zoukankan.com/jiaoyiping-p-7045965.html
分析原因:maven中pom文件已经加载到jar包但是在程序发布时jar包却没有加入到动态web项目lib下:
方案一:
1.项目工程右键->maven->update project;
方案二:
1.项目工程右键->properties->Deployment Assembly->Add->
java build path entries->next->选择maven dependencies->apply->finish.
原因为使用了querydsl , 需要在几个task里添加一句内容 sourceSets = [sourceSets.main]
pmd {
consoleOutput = true
ignoreFailures = true
ruleSets = [
"java-ali-comment"
, "java-ali-concurrent"
, "java-ali-constant"
, "java-ali-exception"
, "java-ali-flowcontrol"
, "java-ali-naming"
, "java-ali-oop"
, "java-ali-orm"
, "java-ali-other"
, "java-ali-set"
]
sourceSets = [sourceSets.main] 加上这一条
}
spotbugs {
ignoreFailures = true
excludeFilter = file("$rootDir/gradle/spotbugs/exclude.xml")
sourceSets = [sourceSets.main] 加上这一条
}
checkstyle {
configFile = new File("${rootProject.projectDir}/gradle/checkstyle/" + System.getProperty("checkstyle.type", "complex") + ".xml")
ignoreFailures = true
sourceSets = [sourceSets.main] 加上这一条
}