使用我的build.gradle文件,我使用createJar任务创建一个jar文件,稍后我使用uploadArchives任务上传该文件。
这个项目很时髦,结构如下: /src/main/groovy/package.name / SRC /测试/常规
这是一个测试jar文件,其中主类位于/ src / test / groovy中,它用于处理来自/src/main/groovy/package.name的类
createJar任务可以正常工作并创建我需要的jar。
到目前为止一切顺利。
问题是当我运行uploadArchives时,它生成一个snapshot.jar,它只包含来自/src/main/groovy/package.name的类
为什么2个jar文件不同?
如何让uploadArchives从createJar上传jar(或者至少包括测试类,并使用createJar中指定的主类运行它)?
在build.gradle中我有类似的东西:
apply plugin: 'groovy'
apply plugin: 'java'
apply plugin: 'maven'
sourceCompatibility = 1.5
repositories {
mavenCentral()
}
artifacts {
archives file: file('./build/libs/name-'+version+'.jar'), name: 'name', type: 'jar'
}
task createJar(type: Jar) {
classifier 'test'
from sourceSets.test.output
manifest {
attributes 'Implementation-Title': 'Gradle Jar File',
'Implementation-Version': version,
'Main-Class': 'MainClassName'
}
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://url/snapshotsFolder/") {
authentication(userName: "user", password: "pass")
}
}
}
}
答案 0 :(得分:0)
为了扩展我的评论,让我添加一个例子:
jar {
classifier 'test'
from sourceSets.test.output
manifest {
attributes 'Implementation-Title': 'Gradle Jar File', 'Implementation-Version': version, 'Main-Class': 'MainClassName'
}
}
这将配置由jar
插件创建的Jar
类型的任务java
。