java - 如何解决 install4j 中的 java.lang.NoClassDefFoundError

标签 java install4j

要求: 在 install4j 中编写一个脚本,以便在安装时运行外部 jar 文件中的方法。

实现: 为此,我们在脚本中导入特定的类并调用该方法,还在 install4j 的编译器变量中添加特定的 jar 文件作为类路径,以便脚本编译成功。 install4j 成功创建了安装程序。

问题:在运行时我收到 NoClassDefFoundError。

我收到以下异常: 在“运行脚本”操作(“安装位置”屏幕)中,属性“脚本”: java.lang.NoClassDefFoundError:是/xxxxxx/版本

即使我在以下系统属性中添加了 jar 文件路径:

sun.boot.library.path=C:\xxx\lib\version.jar;c:\program files\java\jre1.8.0_91\bin java.library.path=C:\xxxx\lib\version.jar;C:\Program Files\install4j5\bin..\lib;C:/xxxxT-214/lib;C:\jdk1.6.0_20\bin; C:\xxxxxx\;C:\xxxxxx\bin;C:\xxxxxx\jre1.5.0_06\bin;C:\xxxxxx\jre1.5.0_06\bin\classic;C:\Documents and Settings\All Users.WINDOWS\Application Data\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Gemalto\Classic Client\BIN;C:\PROGRA~1\ULTRAEDT;c:\程序文件\install4j5\jre\bin;c:\程序文件\java\jre1.8.0_91\bin java.class.path=C:\xxxxxx-214\lib\version.jar;C:\DOCUME~1\POSBuild\LOCALS~1\Temp\e4jDB.tmp_dir1490274034\i4jruntime.jar;C:\DOCUME~1\POSBuild\LOCALS~1\Temp\e4jDB.tmp_dir1490274034\user.jar;C:\DOCUME~1\POSBuild\LOCALS~1\Temp\e4jDB.tmp_dir1490274034\platform.zip;;C:\Program Files\Java\jre1.8.0 _91\lib\deploy.jar;C:\Program Files\Java\jre1.8.0_91\lib\plugin.jar java.ext.dirs=C:\xxxxxx-214\lib\version.jar;c:\program files\java\jre1.8.0_91\lib\ext;C:\WINDOWS\Sun\Java\lib\ext sun.boot.class.path=C:\xxxxxx-214\lib\version.jar;c:\program files\java\jre1.8.0_91\lib\resources.jar;c:\program files\java\jre1。 8.0_91\lib\rt.jar;c:\程序文件\java\jre1.8.0_91\lib\sunrsasign.jar;c:\程序文件\java\jre1.8.0_91\lib\jsse.jar;c:\程序文件\java\jre1.8.0_91\lib\jce.jar;c:\程序文件\java\jre1.8.0_91\lib\charsets.jar;c:\程序文件\java\jre1.8.0_91\lib\jfr.jar;c:\program files\java\jre1.8.0_91\classes

您能帮忙解决这个问题吗?

最佳答案

对于编译时可用的 JAR 文件,您必须将其添加到“安装程序”->“自定义代码和资源”选项卡上。无需修改任何类路径。

对于仅在运行时可用的 JAR 文件,您可以调用

context.addToClassPath(new File("path to jar file"));

在“运行脚本”操作中。

关于java - 如何解决 install4j 中的 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42977341/

相关文章:

java - 在数组中的特定点添加字符

install4j 自动更新,检查连接

java - 在 install4j : addInstallerEventListener throws NotSupportedInElevationException

java - 如何检测字符串中的字母并切换它们?

java - 使用docx4j将图像添加到word文档

java - Azure服务总线: How can I access a message in the processMessage() function?

java - 安装目录选择器/安装大小计算器

java - Install4j:更新程序可以自行更新吗?

java - 如何在 Install4j 中将 JCE 添加到 JRE 包

java - 屏幕上鼠标位置周围区域的缩放框