[英]How to pass command-line arguments to main class in gradle?
我正在創建簡單的Java類,我想通過使用gradle創建開箱即用的啟動器。
所以我希望能夠通過gradle運行Java程序:
gradlew clean run These are my command line arguments
, These are my command line arguments
直接傳遞給我的public static void main(String... args)
方法。
我正在使用apply plugin: "application"
,它給了我run
任務。 但當我按照'原樣'運行時,我得到了:
* What went wrong: Task 'These' not found in root project 'question1'. Some candidates are: 'test'.
Gradle將每個不以連字符( -
)開頭的參數解釋為任務名稱,以定義在構建期間將執行哪些任務。 由於名稱為These
的任務不存在,因此構建失敗。
您正在使用Gradle應用程序插件,如您所述,它提供了一個run
任務。 文檔顯示, run
任務屬於JavaExec
類型。 因此,要應用您的參數,請通過args
將它們添加到run
任務中:
run {
args 'These are my command line arguments'
}
要在不更改build.gradle
文件的情況下修改每個構建的參數,只需使用項目屬性:
run {
args findProperty('runArgs')
}
並調用gradle clean run -PrunArgs='These are my command line arguments'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.