2009-10-28 59 views
18

我在同一個包裏有2個類。兩個類都有其中的主要方法。現在我想構建一個jar文件。我想構建2個使用不同主函數作爲默認主文件的jar文件。如何在java中設置默認主類?

class A 
{ 
    public static void main(String args[]) 
    { 
    //do something 
    } 
} 

class B 
{ 
    public static void main(String args[]) 
    { 
    //do something 
    } 
} 

我如何做它在NetBeans IDE中?

我找到了答案。 U可以在netbeans中輕鬆完成: 1)右鍵單擊project> properties> run>選擇frm類和下拉列表。 netbeans非常簡單。 Netbeans岩石!

+0

它不適用於我。我將它設置爲A類,但它仍在運行舊類。我相信這是一個錯誤。這就是爲什麼我討厭netbeans。它使簡單的事情變得困難。 – Alex 2014-06-20 20:04:17

+0

這個答案適合我。只需要在課堂上放置一個主體,然後NetBeans檢測並運行它 – 2016-07-19 12:25:48

+0

對於Eclipse(這個顯示在Google中):https://stackoverflow.com/a/12811633/1599699 – Andrew 2017-11-06 19:01:50

回答

19

在jar文件你可以只添加到您的manifest.mft

Main-Class : A 

的JAR文件將被執行,並且會調用正確的主體。

如何做到這一點的Netbeans,你可以看看這個: Producing executable jar in NetBeans

1

您可以在jar文件的清單中的Main-Class屬性點要自動運行到的文件。

0

最好的方法是在Ant腳本中處理這個問題。您可以爲2個jar文件創建2個不同的任務。指定A類作爲第一個罐子的spectra文件中的主類。同樣在第二個jar的清單文件中指定class B作爲主類。

您可以輕鬆地從Netbeans運行Ant任務。

3

如果您正在創建2個可執行JAR文件,則每個文件都有它自己的清單文件,並且每個清單文件將指定包含您想用於開始執行的main()方法的類。

在每一個JAR文件,該清單將與JAR內以下路徑/文件名的文件 - META-INF/MANIFEST.MF

有辦法來指定使用JAR command-line parameters或者指定的文件爲JAR文件的清單。

要使用的具體類是使用META-INF/MANIFEST.MF文件中的Main-Class: package.classname指定的。

至於如何在Netbeans中做到這一點 - 不能確定我的頭頂 - 我通常使用IntelliJ和/或Eclipse,通常通過ANT或Maven構建JAR。

1

如果你想創建的兩個罐子大部分是相同的,唯一的區別是應該從每個罐子開始的主類,你可以把所有的類放在第三個罐子裏。然後創建兩個罐子,每個罐子只有一個清單。在MANIFEST.MF文件中,使用Main-Class屬性命名條目類。

此外,請指定Class-Path屬性。這個值應該是包含所有共享代碼的jar文件的名稱。然後將所有三個jar文件部署在同一個目錄中。當然,如果您有第三方庫,那麼也可以在Class-Path屬性中列出。

5

假設你是我的。罐子有1類和類2在每個定義的主,你可以調用java這樣的:

java my.jar class1 

java my.jar class2 

如果需要指定其他選項java的只是確保他們的my.jar前

java -classpath my.jar class1 
+5

'java -classpath my.jar class1'允許您運行實際上沒有「Main-Class」集的JAR。 – 2012-01-18 16:38:12

19

右鍵單擊「項目」窗口中的項目節點,然後選擇「項目屬性」。 然後找到運行,在那裏你可以設置你的主類,, **實際上從NetBeans中默認的幫助

+0

做到這一點的好捷徑 – toxicate20 2012-11-25 15:43:09

0

爲註釋得到了它,我必須允許客戶在一個罐子裏這意味着該清單執行類文件無法修改(他們不能期望這樣做)。由於該職位由安東尼和薩米 - 多彩的評論,這是客戶現在可以運行訪問特定類的主:

java -cp c:\path\to\jar\jarFile.jar com.utils.classpath -e -v textString 
0

按F11建設和運行程序。一旦你運行程序,你將有一個類的列表。從列表中選擇您的主類,然後單擊確定以運行。

8

你可以右鍵點擊項目選擇「設置配置」,然後「自定義」,從那裏你可以選擇你的主類。 ScreenShot