簡體   English   中英

如何在gradle中將命令行參數傳遞給主類?

[英]How to pass command-line arguments to main class in gradle?

我正在創建簡單的Java類,我想通過使用gradle創建開箱即用的啟動器。

所以我希望能夠通過gradle運行Java程序:

gradlew clean run These are my command line argumentsThese 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM