2014-06-05 14 views
8

Ich habe eine App, die einige externe jar s wie mail-1.4 usw. verwendet. Und jetzt möchte ich meine App aus der IDE ausführen (IntelliJ). Auch wurde ich folgende Anweisung Datei> Projektstruktur> Artefakte und so weiter, aber meine Eingabeaufforderung sagt:Erstellen einer ausführbaren .jar mit Intellij

Exception in thread "main" java.lang.SecurityException: Invalid signature file 
igest for Manifest main attributes 
     at sun.security.util.SignatureFileVerifier.processImpl(Unknown Source) 
     at sun.security.util.SignatureFileVerifier.process(Unknown Source) 
     at java.util.jar.JarVerifier.processEntry(Unknown Source) 
     at java.util.jar.JarVerifier.update(Unknown Source) 
     at java.util.jar.JarFile.initializeVerifier(Unknown Source) 
     at java.util.jar.JarFile.getInputStream(Unknown Source) 
     at sun.misc.URLClassPath$JarLoader$2.getInputStream(Unknown Source) 
     at sun.misc.Resource.cachedInputStream(Unknown Source) 
     at sun.misc.Resource.getByteBuffer(Unknown Source) 
     at java.net.URLClassLoader.defineClass(Unknown Source) 
     at java.net.URLClassLoader.access$100(Unknown Source) 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 

Mein MANIFEST ist fast leer:

Manifest-Version: 1.0 
Main-Class: ru.tenet.smsc.SMSC 

Was ist falsch?

+1

Wann erhalten Sie diesen Fehler? Wenn Sie das Artefakt erstellen oder wenn Sie Ihre Anwendung ausführen? Ich rufe das letztere, in diesem Fall zeigen Sie Ihre Befehlszeile. Und Sie machen einen Blick auf http://stackoverflow.com/questions/999489/invalid-signature-file-when-attemcultting-to-run-a-jar –

+0

Sie können ein einziges Glas mit allen Abhängigkeiten erstellen, ohne sich Sorgen zu machen die Signaturausnahme Fügen Sie keine extrahierten Abhängigkeiten hinzu. Weitere Informationen finden Sie in dieser Antwort: http://stackoverflow.com/questions/41746177/how-do-i-create-a-runnable-jar-in-intellija-as-i-would-in-eclipse/43855741#43855741 –

Antwort

10

Eines der Gefäße, die Sie in das Zielglas extrahiert haben, wurde signiert. Der einfachste Weg, um es zu beheben, ist, wählen Sie "Kopieren in das Ausgabeverzeichnis und Link über Manifest" im Dialogfeld "JAR von Modulen erstellen"

+0

Auf diese Weise wird ein Ordner mit allen Jar-Abhängigkeiten erstellt, nicht nur ein Jar-Archiv. – loretoparisi

Verwandte Themen