簡體   English   中英

使用Eclipse中的參數調用Java main方法

[英]Invoking Java main method with parameters from Eclipse

在開發(以及調試)期間,直接從Eclipse內部運行Java類' public static void main(String [] argv)方法非常有用(使用Run As上下文菜單)。

是否有類似的快速方法為運行指定命令行參數? 我現在做的是轉到“運行對話框”,單擊各種設置到選項卡,我可以在其中指定VM和程序參數並在那里輸入。 步驟太多,而且我不希望將更永久的運行時配置設置與一次性invokation參數混合使用。 我想要的是在某個地方檢查一個框(或者有一個單獨的菜單項“使用命令行運行為Java應用程序”),然后每次都提示輸入命令行(具有良好的歷史記錄)。

這個答案基於Eclipse 3.4,但應該適用於舊版本的Eclipse。

選擇Run As ...時,請進入運行配置。

在Java運行配置的Arguments選項卡上,配置要顯示的變量$ {string_prompt}(您可以單擊變量來獲取它,或者復制它以直接設置它)。

每次使用該運行配置(將其命名為以便以后使用)時,系統都會提示您輸入命令行參數。

Uri是錯誤的,有一種方法可以直接在Eclipse中向main方法添加參數,但是參數不是很靈活(允許一些動態參數)。 這是你需要做的:

  1. 按原樣運行你的課程。
  2. 轉到Run -> Run configurations...
  3. 從左側列表中,從Java Application下的列表中選擇您的類,或者通過鍵入其名稱來過濾框。
  4. 選擇Arguments選項卡並將參數寫入Program arguments框。 如果不清楚,它們是空格分隔的,所以"abc" (沒有引號)意味着你將參數a,b和c傳遞給你的程序。
  5. 再次運行您的課程,就像在第1步中一樣。

但我建議使用JUnit / wrapper類,就像Uri所說的那樣,因為這樣你可以更好地控制實際參數而不是這樣做。

AFAIK在Eclipse中沒有內置機制。

最接近的是創建一個包裝器,提示您輸入這些值並調用(硬編碼)main。 只要您不清除已終止的進程,就可以獲得執行歷史記錄。 對此的兩個變體是要么使用JUNit,要么使用注入或參數,以便您的包裝器始終連接到其主要的正確類。

我不確定你的用途是什么,但我發現通常我只使用幾個命令行參數很方便,因此每個場景都有一個運行配置,我只從運行歷史中選擇一個。

你建議的功能似乎有點矯枉過正,IMO。

另一個想法:

將所有參數放在屬性文件中(一個參數=此文件中的一個屬性),然后在main方法中,加載此文件(使用Properties.load(*fileInputStream*) )。 因此,如果要修改一個參數,只需編輯args.properties文件,啟動應用程序,無需執行更多步驟...

當然,這僅用於開發目的,但如果您經常需要更改參數,則可能非常有用...

如果字符串參數中包含空格,請執行以下操作:

運行>運行配置> Java應用程序>參數>程序參數

  1. 用引號括起你的字符串參數
  2. 用空格或換行分隔每個參數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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