这是我的Gradle构建:
apply plugin: 'groovy'
apply plugin: 'maven'
group = 'myorg'
repositories {
mavenCentral()
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.3.3'
compile 'org.apache.httpcomponents:httpclient:4.3.5'
compile 'org.slf4j:slf4j-api:1.7.5'
testCompile 'junit:junit:4.11'
}
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
artifacts {
archives sourcesJar
}
task createPom << {
pom {
project {
groupId group
artifactId "myapp"
version version
}
}.writeTo("build/libs/pom.xml")
}
我正在使用的构建调用:
gradle clean build groovydoc sourcesJar createPom -Pversion=SNAPSHOT
当我运行时:
groupId
,artifactId
和version
都在XML中正确显示;但fizz/build.gradle
,那么上面的构建调用会产生fizz-<version>.jar
(其中<version>
是任何值我在命令行上指定)。如果我现在将fizz/
目录重命名为buzz/
并重新运行相同的构建调用,则会生成buzz-<version>.jar
。我的问题:我在哪里/哪里(什么文件)硬编码groupId
和artifactId
以便myapp-<version>.jar
构建,无论项目根目录的名称如何吗
答案 0 :(得分:8)
项目根目录中需要settings.gradle
,在内部设置rootProject.name = 'artifactId'
这将修复项目名称。
可以通过group
和version
属性在build.gradle文件中设置groupId和version。