天天看點

ecplise 調試java時 main函數中的args[]_使用Eclipse中的參數調用Java main方法

在開發(和調試)期間,直接從Eclipse内部(使用"運作方式"上下文菜單)運作Java類的public static void main(String [] argv)方法非常有用。

是否有類似的快速方法來指定運作的指令行參數?

我現在要做的是轉到"運作對話框",單擊各種設定,進入頁籤,在其中可以指定VM和程式參數,然後在其中輸入它們。

步驟太多,而且我不想将更永久的運作時配置設定與一次性調用參數混合使用。

相反,我想要的是在某處選中一個框(或具有單獨的菜單項"使用指令行運作Java應用程式"),然後每次都提示您輸入指令行(具有良好的曆史記錄)。

正如烏裡(Uri)所說,我認為這是不可能的,但這确實很酷。 我也非常不喜歡填寫運作對話框。

該答案基于Eclipse 3.4,但應在較早版本的Eclipse中有效。

選擇"運作方式..."時,進入運作配置。

在Java運作配置的"參數"頁籤上,配置要顯示的變量$ {string_prompt}(可以單擊變量以擷取它,也可以複制該變量以直接對其進行設定)。

每次使用該運作配置(命名正确,以便以後使用)時,系統都會提示您輸入指令行參數。

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

按原樣運作一次課程。

轉到Run -> Run configurations...

在左側清單中,從Java Application下的清單中選擇您的班級,或在類别中輸入要過濾的框。

選擇"參數"頁籤,然後将參數寫入Program arguments框。萬一不清楚,它們之間用空格分隔,是以"a b c"(不帶引号)将意味着您需要将參數a,b和c傳遞給程式。

像步驟1一樣再次運作您的課程。

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

我認為Thilo / Uri在談論一種簡單的方法,而不涉及鑽研"運作"對話框-正如他的問題所述。

我不得不引用檔案名參數,因為它裡面有空格。 謝謝

AFAIK在Eclipse中沒有内置的機制。

您可以獲得的最接近的結果是建立一個包裝程式,該包裝程式提示您輸入這些值并調用(寫死的)main。隻要您不清除終止的程序,就可以擷取執行曆史記錄。這方面的兩個變體是使用JUNit或使用注入或參數,以便您的包裝器始終連接配接到其主類的正确類。

如果字元串參數中有空格,請執行以下操作:

運作>運作配置> Java應用程式>參數>程式參數

用引号将字元串參數引起來

用空格或換行分隔每個參數

我不确定您的用途是什麼,但是我發現通常不超過幾個指令行參數很友善,是以每種情況都可以得到一個運作配置,而我隻是從"運作曆史記錄"中選擇了一個即可。

您建議使用的功能IMO似乎有些過高。

另一個想法:

将所有參數放在屬性檔案中(一個參數=該檔案中的一個屬性),然後在主方法中加載該檔案(使用Properties.load(*fileInputStream*))。

是以,如果要修改一個參數,則隻需編輯args.properties檔案,然後啟動應用程式而無需執行更多步驟。

當然,這僅是出于開發目的,但是如果您不得不經常更改參數,那麼它确實會有所幫助...