我一直在编写一些软件,但我意识到我无法运行该 jar,因为它缺少一些类,而它直接从 IDE 运行良好。该 jar 是在最新的 IntelliJ Idea 社区版中构建的。这是当我尝试使用“java -jar”运行它时出现的错误。
Exception in thread "main" java.lang.NoClassDefFoundError: sun/plugin/dom/exception/InvalidStateException
at ro.mihalea.abstractInput.mothership.Main.main(Main.java:26)
Caused by: java.lang.ClassNotFoundException: sun.plugin.dom.exception.InvalidStateException
我从 IDE 使用的命令开始运行它,并删除了尽可能多的类,只剩下这个命令。
java -cp "Mothership.jar:C:\Program Files\Java\jdk1.7.0_51\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0_51\jre\lib\plugin.jar;E:\Programming\Java\IntelliJ Idea\abstractINPUT\out\production\Mothership;E:\Programming\Java\IntelliJ Idea\abstractINPUT\Mothership\lib\*;E:\Programming\Java\IntelliJ Idea\abstractINPUT\out\production\Shared" ro.mihalea.abstractInput.mothership.Main
如果没有来自 JRE 的前两个依赖项,程序将无法启动。当我删除它们时,我收到上述错误。我不知道为什么当它们已经在 JRE 中时我需要手动链接它们。
最佳答案
我删除了代码中所有出现的 InvalidStateException,现在它运行完美。
关于java - Jar 缺少 Sun 类(class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24169576/