【发布时间】:2015-10-19 14:35:57
【问题描述】:
我的目录结构如下:
myapp/
src/main/resources/
<lots of code>
build.gradle
以下build.gradle:
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'eclipse'
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
group = 'net.myuser'
repositories {
jcenter()
}
dependencies {
compile(
<dependencies here>
)
}
jar {
baseName = 'myapp'
}
task writePom << {
pom {
project {
groupId group
artifactId 'myapp'
version version
inceptionYear '2015'
licenses {
license {
name 'myapp'
distribution 'Blah blah blah'
}
}
}
}.writeTo("build/libs/pom.xml")
}
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives sourcesJar
archives javadocJar
}
artifacts {
archives(file("${buildDir}/libs/myapp-${version}.jar")) {
name "myapp"
classifier ""
}
}
当我这样做时:
./gradlew clean build writePom install -Pversion=0.1.0
我遇到了两个问题:
- 在生成的
build/libs/pom.xml内部,groupId显示为null;和 - 我在
~/.gradle/caches/modules-2下找不到net.myuser目录,这告诉我install不起作用
所以我问:我需要更改什么以使groupId 不为空,以及如何让install 发布以下所有内容:
- 罐子
- 来源 JAR
- Javadoc JAR
pom.xml
【问题讨论】:
-
你试过
groupId project.group而不是groupId group吗? -
感谢@thokuest (+1) - 这解决了我的第一个问题(
pom.xml现在有正确的groupId值),但工件仍未在该modules-2目录下发布。有任何想法吗?!?再次感谢!
标签: java gradle publishing