我想用IntelliJ/Gradle生成一個包含pom.xml
的jar包,以便在其他項目中使用它。 我嘗試了build.gradle
下面的代碼:用Gradle生成jar包中的pom.xml
group 'com.test'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'maven-publish'
sourceCompatibility = 1.5
repositories {
mavenCentral()
}
jar {
into("META-INF/maven/$project.group/$project.name") {
from generatePomFileForMavenJavaPublication
rename ".*", "pom.xml"
}
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
compile group: 'postgresql', name: 'postgresql', version: '9.1-901.jdbc4'
}
但我發現了以下錯誤:
'jar' cannot be applied to '(groovy.lang.closure <org.gradle.api.tasks.bundling.AbstractArchiveTask>)'
和gradle這個說:
Could not find property 'generatePomFileForMavenJavaPublication' on
task ':jar'.
還是沒有人知道的另一種方法?
什麼是'generatePomFileForMavenJavaPublication'?它似乎會導致問題.. – Opal
也許你應該使用'maven-deploy' Gradle插件來做到這一點? – Vampire
'generatePomFileForMavenJavaPublication'是'publishing'中列出的gradle中的任務,它在'build'目錄中創建pom.xml –