我想在gradle中定义一个任务(称为gen),该任务运行gradle任务jar,但具有baseName的固定值.我还希望以后可以使用原始任务jar.
我的问题是,我无法转移清单的设置.
我累了
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和manifest使用其他值来重新定义Jar任务.
运行./gradlew jar时,将生成可执行的JAR文件.
运行./gradlew gen时,将生成一个jar文件.不幸的是,当尝试使用java -jar build / libs / something.jar运行程序时,出现错误消息:
java -jar build / libs / something.jar
Error: Could not find or load main class com.so.proj.App
我究竟做错了什么?我只想使用不同的参数运行jar任务(无需配置jar任务本身,而是运行别名).我编写的代码在做什么(运行任务时没有出现错误.但是它在做什么?)