2009-10-28 8 views
18

Ich habe 2 Klassen im selben Paket. Beide Klassen haben Hauptmethode in ihnen. Jetzt möchte ich eine JAR-Datei erstellen. Ich möchte 2 JAR-Dateien erstellen, die verschiedene Hauptfunktionen als Standardhaupt verwenden.Wie Standard-Hauptklasse in Java festlegen?

zB

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

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

Wie mache ich es in NetBeans IDE?

Ich fand die Antwort. U kann es leicht in Netbeans tun: 1) Rechtsklick auf Projekt> Eigenschaften> Ausführen> Wählen Sie die Klasse Frm und Dropdown-Liste. So einfach in Netbeans. Netbeans rockt!

+0

es funktioniert nicht für mich. Ich setze es auf Klasse A, aber es läuft immer noch die alte Klasse. Ich glaube, es ist ein Fehler. Deshalb hasse ich Netbeans. Es macht einfache Dinge schwer. – Alex

+0

Diese Antwort hat bei mir funktioniert. Musste nur ein Haupt in der Klasse und NetBeans erkennt und führen Sie es –

+0

Für Eclipse (dieses wird in Google angezeigt): https://Stackoverflow.com/a/12811633/1599699 – Andrew

Antwort

19

In der JAR-Datei können Sie einfach diese zu Ihrem manifest.mft hinzufügen

Main-Class : A 

Die JAR-Datei dann ausführbar sein würden und das richtige Haupt nennen.

, wie man dies in Netbeans tun Sie dies aussehen: Producing executable jar in NetBeans

1

Sie können das Main-Class-Attribut in dem Manifest der JAR-Datei auf Punkt, auf die Datei, die Sie automatisch ausgeführt werden sollen.

0

Der beste Weg ist, dies in einem Ant-Skript zu behandeln. Sie können 2 verschiedene Aufgaben für die 2 JAR-Dateien erstellen. Geben Sie Klasse A als Hauptklasse in der Manifest-Datei für das erste Jar an. Geben Sie in ähnlicher Weise Klasse B als Hauptklasse in der Manifestdatei für das zweite Jar an.

können Sie einfach die Ant-Aufgaben von Netbeans ausführen.

3

Wenn Sie zwei ausführbare JAR-Dateien erstellen, hat jede Datei ihre eigene Manifestdatei, und jede Manifestdatei gibt die Klasse mit der main()-Methode an, die Sie zum Starten der Ausführung verwenden möchten.

In jeder JAR-Datei, das manifest wird in der JAR-Datei mit folgendem Pfad/Namen sein - META-INF/MANIFEST.MF

Es gibt Möglichkeiten, mit den JAR command-line parameters alternativ benannten Dateien als JAR-Manifest zu spezifizieren.

Die spezifische Klasse, die Sie verwenden möchten, wird in der META-INF/MANIFEST.MF-Datei mit Main-Class: package.classname angegeben.

Wie in Netbeans - nicht sicher von der Spitze meines Kopfes - in der Regel verwende ich IntelliJ und/oder Eclipse und in der Regel die JAR durch ANT oder Maven sowieso bauen.

1

Wenn die zwei Gläser, die Sie erstellen möchten, die meisten gleich sind und der einzige Unterschied die Hauptklasse ist, die von jedem gestartet werden soll, können Sie alle Klassen in ein drittes Glas setzen. Erstellen Sie dann zwei Gläser mit jeweils nur einem Manifest. Benennen Sie in der MANIFEST.MF-Datei die Eintragsklasse, die das Main-Class Attribut verwendet.

Geben Sie zusätzlich das Attribut Class-Path an. Der Wert hierfür sollte der Name der JAR-Datei sein, die den gesamten freigegebenen Code enthält. Stellen Sie dann alle drei JAR-Dateien im selben Verzeichnis bereit. Wenn Sie über Bibliotheken von Drittanbietern verfügen, können diese natürlich auch im Class-Path-Attribut aufgeführt werden.

5

Angenommen, Sie meinen.Glas hat eine class1 und class2 mit einem Haupt in jeder definiert sind, können Sie nur Java wie folgt aufrufen:

java my.jar class1 

java my.jar class2 

Wenn Sie andere Optionen Java angeben müssen nur sicherstellen, dass sie vor dem my.jar

java -classpath my.jar class1 
+5

'java -classpath my.jar class1' Damit können Sie JARs ausführen, die keinen 'Main-Class'-Satz haben. –

19

Klicken Sie mit der rechten Maustaste auf den Projektknoten im Projektfenster und wählen Sie Projekteigenschaften. dann finden Sie run, dort können Sie Ihre Hauptklasse einrichten ,, ** tatsächlich bekam es von Netbeans Standardhilfe

+0

gute Verknüpfung, dies zu tun – toxicate20

0

Als Kommentar musste ich einem Kunden erlauben, eine Klasse in einem Jar auszuführen, was das Manifest bedeutete Datei konnte nicht geändert werden (das konnte nicht erwartet werden). Dank den Beitrag von Anthony und samy-Delux Kommentar, das ist, was der Kunde kann jetzt die Haupt der spezifischen Klasse zuzugreifen läuft:

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

Drücken Sie F11, um beim Aufbau und das Führen Sie das Programm. Sobald Sie das Programm ausführen, haben Sie eine Liste von Klassen. Wählen Sie Ihre Hauptklasse aus der Liste und klicken Sie zum Ausführen auf OK.

8

können Sie mit der rechten Maustaste auf das Projekt klicken, wählen Sie "set configuration" dann "Customize", von dort können Sie Ihre Hauptklasse wählen. ScreenShot

Verwandte Themen