当我使用IntelliJ Idea运行它时 - 它完全正确。当我从输出运行app.jar文件时 - 一切都运行良好,但是一个功能,supportLib.jar支持。使用时我得到java.lang.NoClassDefFoundError: sun/plugin/dom/exception/InvalidAccessException
。
输出的结构是:
| D:\myprogram\
|
---> app.jar
|
---> lib\
|
---> supportLib.jar
---> anotherSupportLib.jar
ClassPath是:lib/supportLib.jar lib/anotherSupportLib.jar
答案 0 :(得分: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
答案 1 :(得分:2)
IDEA通常会添加绝对路径:
-classpath D:\myprogram\lib\supportLib.jar;D:\myprogram\lib\anotherSupportLib.jar
尝试使用此synthax运行jar。
答案 2 :(得分:0)
在Windows机器上,这需要使用分号lib/supportLib.jar;lib/anotherSupportLib.jar
。