簡體   English   中英

Eclipse運行配置的煩惱

[英]Eclipse run configuration annoyance

如果我按如下方式運行jar,則可以理解java -jar Name.jar arg1 arg2 arg3 ,在導出(創建.jar)時,我必須指定Eclipse運行配置以識別主要方法,因為可能存在許多主要方法,因為有類。

如果我從Eclipse中運行一個主程序,它將以靜默方式創建一個新的運行配置,這給我要導出的可用運行配置選擇增加了更多的混亂。 如果我對許多類都這樣做,則可能是我有許多基本相同的運行配置,唯一的不同是指定的主要方法。

如果我按如下方式運行一個罐子

java -cp Name.jar package.MyObject arg1 arg2

java -cp Name.jar package.MyOtherObject arg1

那么可能會忽略標識主要方法的Eclipse運行配置。 入口點在命令行上標識。 在這種情況下,Eclipse在導出過程中需要運行配置這一事實似乎很繁瑣,但似乎沒有辦法避免這種情況。

我更喜歡通過-cp選項運行.jar,因為它使我可以訪問許多入口點。 這樣,當我要訪問其他入口點時,無需重新導出。 關於使用哪個入口點的決定被推遲到我要運行的時間為止。 我不必決定何時導出。 我保持靈活性。

我知道另一種方法是只使用一個arg1指定任務,因此我只能依靠一個運行配置來標識具有較大switch語句的主方法,然后始終使用-jar選項調用Java。

如果我使用-jar ,則會出現許多運行配置混亂的情況。 如果使用-cp則在導出過程中似乎會有一個令人討厭的步驟,其中涉及許多運行配置。 有沒有一種方法可以使用Eclipse來避免這兩個問題?

  1. 打開項目,然后選擇FileExport以及JavaJAR file 不要選擇Runnable JAR file

  2. 默認情況下,項目文件夾中的每個文件都被選中作為要導出的資源,您可能要取消選中其中的一部分或全部。 不幸的是,Eclipse不會記住這一點,因此您可能在每次導出時都必須取消檢查資源。

  3. 選中src目錄,不幸的是,它看起來像您要導出源,但是實際上您需要選中它才能導出相應的.class文件。

  4. 復選框Export generated class files and resources

  5. 瀏覽到要導出或覆蓋的目標JAR文件。

  6. 單擊finish

  7. Eclipse在上述步驟2中不將第三方JAR文件視為資源,因此您需要找到一種在調用Java時將其提供給-classpath-cp 我們需要這樣做的原因是,當Eclipse導出“ JAR文件”時,它似乎並沒有遵循您的第三方JAR文件的構建路徑。 Eclipse在導出“可運行的JAR文件”時具有此功能,但這不是我們在此所做的。 您可以手動創建第三方JAR文件的目錄,並讓Java在-classpath擴展通配符。

linux中的Java調用示例:

java -cp ~/directory/destination.jar:/home/username/directory/thirdparty/"*" com.domain.package.MyObject arg1 arg2 arg3

請注意,在Linux上,我們可以允許bash為您自己的JAR文件“ destination.jar”擴展~ 對於第三方JAR文件,使用長格式/home/username ,因為波浪號擴展名可能無法在字符串中間(僅在冒號之后)起作用。

如果我們要對第三方JAR文件使用Java *通配符(與bash命令行通配符不同),必須將*字符加引號(原義),以便將通配符傳遞給Java。

通過這種方式導出,無需選擇運行配置,並且可以解決引發問題的問題。

另外:如果將您自己的JAR導出到與第三方JAR相同的目錄,則classpath更簡單:

java -cp ~/singleDirectory/"*" com.domain.package.MyObject arg1 arg2 arg3

暫無
暫無

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

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