我想发布一个 jar 。我正在这样做:
project.publishing.publications{ task ->
mavenJava(MavenPublication) {
archives makeJar
}
现在,在makeJar中,我将一个 jar 从一个位置复制到另一个位置,然后将其重命名。这是一个Copy类型的任务,但是由于我收到错误消息,该任务应该是jar任务那样的AbstractArchiveTask类型,因此无法正常工作。我想写一个像这样的任务:
class MakeJar extends Jar{
@TaskAction
def createJar(){
<- code for creating jar ->
}
但是没有这样的gradle任务类型Jar。我需要帮助来编写这样的任务。谢谢
最佳答案
您不需要自定义Task类即可实现如此简单的功能:
apply plugin: 'java'
task renameArtifact(type: Copy, dependsOn: 'jar') {
from jar.archivePath
rename '.*', 'renamedFile.jar'
into 'destDir'
}
将编译
└── src
└── main
└── java
└── Main.java
进入
├── destDir
│ └── renamedFile.jar
关于gradle - 创建类型为Jar的自定义插件任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37942485/