我们的软件使用install4j,我们的应用程序和安装程序也有不同的语言。我们正在从install4j 5.1.3迁移到install4j 6.1.6。在检查安装程序时,我们发现“语言代码的替换脚本”在MacOS上不起作用。为了验证,我刚刚构建了简单的安装程序,它只返回替换脚本中的"en“。手册说语言选择对话框不应该显示在那种情况下,而是在MacOS上显示出来。对于日志输出,有ClassNotFoundException:
[ERROR] java.lang.ClassNotFoundException: com.install4j.script.I4jScript_Internal_7
java.lang.ClassNotFoundException: com.install4j.script.I4jScript_Internal_7
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at com.install4j.runtime.installer.helper.Install4jClassLoader.loadClass(Install4jClassLoader.java:81)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at com.install4j.runtime.installer.ContextImpl.runScript(ContextImpl.java:187)
at com.install4j.runtime.installer.ContextImpl.runScript(ContextImpl.java:182)
at com.install4j.runtime.installer.controller.LanguageSelector.initLanguage(LanguageSelector.java:45)
at com.install4j.runtime.installer.controller.Controller.start(Controller.java:60)
at com.install4j.runtime.installer.Installer.runInProcess(Installer.java:59)
at com.install4j.runtime.installer.Installer.main(Installer.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:65)
at com.install4j.runtime.launcher.MacLauncher.main(MacLauncher.java:67)但是,I4jScript_Internal_7类包含在存档中的user.jar中,它是我们的脚本,但由于某种原因,install4j无法加载它。
发布于 2018-03-22 10:40:25
这是一个错误,将在7.0.5中修复。
https://stackoverflow.com/questions/49366261
复制相似问题