0

我目前正在为学校做一个独立项目,在那里我为 Mandelbrot 集制作了一个可视化器。我有一个基本版本的程序,想把它打包成一个 jar 并在其他系统上测试它。当我在我的 mac 上测试时,我注意到从终端启动正常工作(就像从 intellij 或代码一样)

java -jar Mandy.jar

但是,双击可执行文件会以蜗牛的速度执行相同的程序。据我所知,每个油漆周期慢 100 倍以上(我将很快发布时间配置文件)

我已经翻遍了,一直找不到对此的解释。我认为它与 macos 的 jar 启动器有关,但可用的信息很少。

有谁知道可能导致这种情况的原因?提前致谢。

这是代码和可执行 jar,以防有人想亲自查看:repo

编辑:这是在带有(仅)jdk 11 的 macos 系统上体验的。所有其他 JRE 和 JDK 都已卸载。

值得注意的是,当使用 java 8 编译和执行时,无论启动方法如何,都会遇到同样的缓慢。

4

1 回答 1

-1

很可能您在系统上安装了多个 JDK 或 JRE,并且java -jar在命令行上运行使用不同的 java 可执行文件,而不是从 finder 中双击一个 jar。

右键单击查找器中的 jar 以获取其他打开选项,或使用“获取信息”,然后检查正在使用哪个可执行文件来运行它。我敢打赌它与which java命令行上的打印内容不匹配。找到卸载该 JVM 的方法,或更改用于运行 jar 文件的应用程序,然后单击获取信息小部件中的“针对所有此类文件”选项。

于 2020-03-03T22:02:17.140 回答