我想定义一个运行gradle任务jar
但具有固定值为baseName
的gradle中的任务(称为gen
)。之后我也想让原始任务jar
可用。如何使用不同参数运行Gradle任务
我的问题是,我无法传输清单的设置。
我累了,例如
def mainFile = 'com.so.proj.App'
def filename = 'something'
jar {
baseName filename
manifest {
attributes 'Main-Class': mainFile
}
}
task gen (type: Jar) {
description "Generates JAR without version number."
doFirst {
//archiveName = jar.baseName + "." + extension
archiveName = filename + ".jar"
manifest {
attributes 'Main-Class': mainFile
}
}
}
我想我通过使用archiveName和清单其他值重新定义Jar
任务。
当运行./gradlew jar
时,会生成一个可执行的JAR文件。
当运行./gradlew gen
时,会生成一个jar文件。不幸的是当试图运行使用java -jar build/libs/something.jar
我得到错误信息的程序:
Java的罐子建立/库/ something.jar
Error: Could not find or load main class com.so.proj.App
我在做什么错?我只是想用不同的参数运行jar任务(没有配置jar任务本身,但运行别名)。我写的代码在做什么(我在执行任务时没有遇到错误,但是它在做什么?)
您可能需要只是Jar'加上'以你的任务根定义 – RaGe