0

当我使用 IntelliJ Idea 运行它时 - 它完全正确。当我从输出运行 app.jar 文件时 - 一切都很好,但是 supportLib.jar 支持的一项功能。java.lang.NoClassDefFoundError: sun/plugin/dom/exception/InvalidAccessException用的时候就知道了 输出结构如下:

| D:\myprogram\

  |
  ---> app.jar 
  |
  ---> lib\  
        |
        ---> supportLib.jar
        ---> anotherSupportLib.jar

类路径是:lib/supportLib.jar lib/anotherSupportLib.jar

4

3 回答 3

2

sun.plugin.dom.exception.InvalidAccessException驻留在 中$JRE_HOME/lib/plugin.jar,因此您需要添加$JRE_HOME/lib/plugin.jar到您的类路径中。我想 IntelliJ 会自动添加它,但 Java 运行时不会自动加载它(与 rt.jar 不同)。


根据评论的反馈,应用程序应该这样启动:

java -classpath "c:/Program Files/Java/jre7/lib/plugin.jar;app.jar;lib/supportLib1.jar;lib/supportLib2.jar;lib/supportLib3.jar" namespace.forms.MainForm
于 2012-10-23T13:08:48.873 回答
2

IDEA 通常会添加绝对路径:

 -classpath D:\myprogram\lib\supportLib.jar;D:\myprogram\lib\anotherSupportLib.jar

尝试用这个合成器运行你的 jar。

于 2012-10-23T13:11:17.853 回答
0

在 Windows 机器上,这需要使用分号lib/supportLib.jar;lib/anotherSupportLib.jar

于 2012-10-23T13:08:48.627 回答