【问题标题】:Creating an executable .jar using Intellij使用 Intellij 创建可执行的 .jar
【发布时间】:2014-07-26 08:41:19
【问题描述】:

我有一个应用程序使用很少的外部jars,如mail-1.4 等。现在我想在 IDE (IntelliJ) 之外执行我的应用程序。我也按照指令 File>Project Structure>Artifacts 等等,但我的命令提示符说:

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)

我的MANIFEST 几乎是空的:

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

怎么了?

【问题讨论】:

  • 什么时候出现这个错误?当您构建工件或运行应用程序时?我猜是后者,所以在这种情况下显示你的命令行。你看看stackoverflow.com/questions/999489/…
  • 您可以创建一个包含所有依赖项的单个 jar,而不必担心签名异常。不要添加提取的依赖项。有关更多详细信息,请参阅此答案:stackoverflow.com/questions/41746177/…

标签: java jar intellij-idea


【解决方案1】:

您提取到目标 jar 的其中一个 jar 已签名。最简单的修复方法是在“从模块创建 JAR”对话框中选择“复制到输出目录并通过清单链接”

【讨论】:

  • 这样会创建一个包含所有jar依赖的文件夹,而不仅仅是一个jar包。
猜你喜欢
  • 2013-06-06
  • 1970-01-01
  • 2017-11-14
  • 2016-02-09
  • 2012-12-30
  • 2014-03-24
  • 2019-09-28
  • 2014-10-05
  • 2014-06-05
相关资源
最近更新 更多