Man*_*dan 8 java jar gradle pom.xml
我想用 IntelliJ/Gradle 生成一个带有pom.xml内部的 jar,以便在另一个项目中使用它。我尝试了以下代码build.gradle:
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'
}
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
'jar' cannot be applied to '(groovy.lang.closure <org.gradle.api.tasks.bundling.AbstractArchiveTask> )'
Run Code Online (Sandbox Code Playgroud)
gradle 说:
Could not find property 'generatePomFileForMavenJavaPublication' on
task ':jar'.
Run Code Online (Sandbox Code Playgroud)
或者有人知道另一种方法吗?
from想要一个文件或路径。你提供给它的generatePomFileForMavenJavaPublication是一个任务,它绝对不是文件或路径,所以这是行不通的。
您可以做的就是generatePomFileForMavenJavaPublication为它创建先决条件jar并获取它在构建目录中创建的 pom。
像下面这样的东西应该可以完成这个任务:
jar {
dependsOn generatePomFileForMavenJavaPublication
from("$builddir/pom.xml") //Or whatever path it goes to in the generate task.
into("META-INF/maven/$project.group/$project.name")
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5234 次 |
| 最近记录: |