要求: 在install4j中编写脚本,以便在安装时从外部jar文件运行方法。
实现: 为此,我们在脚本中导入了特定的类,并调用该方法还在install4j的编译器变量中添加了特定的jar文件作为类路径,因此脚本编译成功。并且install4j成功创建了安装程序。
问题:在运行时我得到NoClassDefFoundError。
我遇到以下异常: 在操作“运行脚本”(屏幕“安装位置”),属性“脚本”: java.lang.NoClassDefFoundError:yes / xxxxxx / Version
即使我在以下系统属性中添加了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:\ program files \ install4j5 \ jre \ bin; c:\ program files \ 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:\ program files \ java \ jre1.8.0_91 \ lib \ sunrsasign.jar; c:\ program files \ java \ jre1.8.0_91 \ lib \ jsse.jar; c:\程序文件\ java \ jre1.8.0_91 \ lib \ jce.jar; c:\ program files \ java \ jre1.8.0_91 \ lib \ charsets.jar; c:\ program files \ java \ jre1.8.0_91 \ lib \ jfr.jar; c:\ program files \ java \ jre1.8.0_91 \ classes
请帮助解决这个问题。
答案 0 :(得分:1)
对于在编译时可用的JAR文件,您必须在Installer-> Custom Code和Resources选项卡上添加它。无需修改任何类路径。
对于仅在运行时可用的JAR文件,您可以调用
context.addToClassPath(new File("path to jar file"));
在“运行脚本”操作中。