2013-10-08 13 views
15

Sto cercando di eseguire un file jar dalla console:Non riuscendo a eseguire file jar da riga di comando: “non principale attributo manifesta”

java -jar ScrumTimeCaptureMaintenence.jar 

E sto ottenendo l'errore:

Can't execute jar- file: “no main manifest attribute”

come si può vedere che faccio, infatti, hanno un file principale e funziona benissimo da Eclipse:

main method is in class

Cosa devo fare per eseguire correttamente questo file dalla riga di comando?

+3

È necessario un file 'manifest' con una voce' Main'. –

+0

C'è un modo per generarne uno nell'esportazione jar in eclissi? –

+3

Se esporti come eseguibile auto jar, creerà il manifest per te – RamonBoza

risposta

29

tenta di eseguire

java -cp ScrumTimeCaptureMaintenence.jar Main 
+8

Questo non ha funzionato – MarcoZen

+3

Se il nome della classe è "Principale" e il nome del pacchetto è "com.mycompay", allora il comando sarà: 'java -cp /the_jar_file_path/the_jar_file.jar com.mycompay.Main' – Henry

+0

quando I sto eseguendo questo, dice 'Exception in thread" AWT-EventQueue-0 "java.lang.NoClassDefFoundError: Path' c'è qualche ragione? –

4

Prima di eseguire l'applicazione da Eclipse per creare la configurazione di avvio. Poi basta seguire le istruzioni:

  1. From the menu bar's File menu, select Export.
  2. Expand the Java node and select Runnable JAR file. Click Next.
  3. In the Runnable JAR File Specification page, select a 'Java Application' launch configuration to use to create a runnable JAR.
  4. In the Export destination field, either type or click Browse to select a location for the JAR file.
  5. Select an appropriate library handling strategy.
  6. Optionally, you can also create an ANT script to quickly regenerate a previously created runnable JAR file.

Fonte: Creating a New Runnable JAR File a Eclipse.org

17

In Eclipse: right-click sul vostro progetto ->Export ->JAR file

Ultima pagina con le opzioni (quando c'è non sarà attivo il pulsante Next) vedrete le impostazioni per Main class:. È necessario impostare qui la classe con il metodo main che dovrebbe essere eseguito di default (come quando si farà doppio clic sul file JAR).

+1

State cercando questo. Grazie! – Justin

7

è possibile selezionare il "File JAR Runnable" dopo aver fatto clic su "Esporta".

È possibile specificare il driver principale di "Launch Configuration"

enter image description here enter image description here

3

Export ti progetto Java come file Runnable Jar piuttosto che Jar.

ho esportato il mio progetto come Jar e anche se il Manifesto era presente mi ha dato l'errore non principale attributo manifesta in vaso anche se era presente nel vaso file manifesto. Tuttavia c'è una sola voce nel file Manifest e non ha specificato la classe principale o la funzione da eseguire o qualsiasi JAR dipendente

Dopo averlo esportato come file Jar eseguibile funziona come previsto.

+1

Ho avuto gli stessi problemi: aggiungere Manifest non ha aiutato. Barattolo Runnable ha fatto. +1 – Gangnus

2

è necessario includere "principale classe" attributo nel file di Manisfest.mf in vaso

Ad esempio: Main-Class: MyClassName

Seconda cosa, Per aggiungere file di manifestarsi nella vostra vaso, è possibile manualmente crea un file nella cartella del workspace e aggiorna in Eclipse Project explorer.

Durante l'esportazione, Eclipse crea un Jar che includerà il manifest.

Saluti !!

6

L'opzione -jar funziona solo se il file JAR è un file JAR eseguibile, il che significa che deve contenere un file manifest con un attributo Main-Class.

Se non si tratta di un JAR eseguibile, allora avrete bisogno di eseguire il programma con qualcosa di simile:

java -cp app.jar com.somepackage.SomeClass 

dove com.somepackage.SomeClass è la classe che contiene il metodo main per eseguire il programma.

Problemi correlati