我有一个奇怪的问题 - 我有一个javafx程序,我使用maven编译和打包(对于Windows我使用Inno设置来创建一个安装程序包)。从Java 8升级到Java 10(更新pom.xml文件中的插件并更新配置)之后 - 我们已经达到了构建成功完成的程度。
问题是在Windows上安装软件包后 - 启动程序的exe文件将无法正常运行。它开始一瞬间然后停止。
奇怪的部分:如果我尝试从target \ bundle文件夹(maven为打包器准备文件的文件夹)运行相同的exe - 它运行正常!
两个文件夹 - target \ bundle和Programs files(x86)/ vendor / appname是相同的(文件和配置文件内容)。
我检查了程序文件(x86)/ vendor / appname下exe的权限,看起来很好。
我在Windows 8.1机器上测试(在其他显示相同行为的机器上,这让我相信这是一个真正的问题,而不是我的测试机器配置错误。)
相同的脚本用于创建MAC OSX的安装包,一切都在OSX上正常工作,所以这不是代码的问题。
有关导致此问题以及如何解决问题的任何想法?
其他信息:
自从迁移到Java 10以来,这种情况才刚刚开始.Java 8和9完美运行。
我的应用不会写入程序文件安装文件夹中的任何文件。配置和日志文件仅写入%user%/ AppData文件夹。
答案 0 :(得分:1)
我通过使用Inno设置向导手动创建工作安装程序包然后将其与我没有的那个进行比较来发现问题。
执行此操作后,我将向导创建的iss文件(Inno配置文件)与唯一无效的文件进行了比较。原来,充气城堡的jar文件造成了一个问题。来自先前版本的iss脚本将它们复制到lib / ext文件夹,并为java类解析器创建了一个重复的类路径问题,因为有两个jar副本。
Java 9和Java 10中不需要这样做。从iss文件中删除手动添加的充气城堡罐子修复了问题。
希望这可以帮助将来的某个人:)