存储库包含一个单独的副本pom.xml
。它通常位于磁盘物理结构中的JAR文件旁边。这适用于Nexus或Artifatory等二进制存储库,也适用于本地Maven存储库(位于$HOME/.m2/repo
下)。
如果由于某种原因想要复制Maven的行为,您可以告诉Gradle创建这些文件。我们在subprojects
闭包中使用这个定制,它可以配置我们的多项目Gradle构建。
jar {
// until we have better solution
// https://discuss.gradle.org/t/jar-task-does-not-see-dependency-when-using-maven-publish/11091
if (project.tasks.findByName('generatePomFileForMavenJavaPublication')) {
dependsOn 'generatePomFileForMavenJavaPublication'
} else {
project.tasks.whenTaskAdded { addedTask ->
if (addedTask.name == 'generatePomFileForMavenJavaPublication') {
project.tasks.jar.dependsOn 'generatePomFileForMavenJavaPublication'
}
}
}
into("META-INF/maven/$project.group/$project.archivesBaseName") {
/*
from generatePomFileForMavenJavaPublication
*/
from new File(project.buildDir, 'publications/mavenJava')
rename ".*", "pom.xml"
}
}
它会更简单,如果没有问题与正在创建懒惰有时generatePomFileForMavenJavaPublication
任务。你需要检查如何创建你的属性文件。我想你可以从一个正在运行的Gradle进程转储属性。
不适用于它自己。我错过了什么? – user447607
OIC。谢谢。我几乎得到了这个工作。 :-) – user447607