我想定義一個運行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