使用Intellij创建可执行文件.jar

Ton*_*ony 8 java jar intellij-idea

我有一个使用很少外部jar的应用程序mail-1.4等等.现在我想用IDE(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)
Run Code Online (Sandbox Code Playgroud)

MANIFEST几乎是空的:

Manifest-Version: 1.0
Main-Class: ru.tenet.smsc.SMSC
Run Code Online (Sandbox Code Playgroud)

怎么了?

zoo*_*opo 12

你提取到目标罐的其中一个罐子已签名.修复它的最简单方法是在"从模块创建JAR"对话框中选择"复制到输出目录并通过清单链接"

  • 通过这种方式,它将创建一个包含所有 jar 依赖项的文件夹,而不仅仅是一个 jar 存档。 (2认同)