java - 在 LINUX 系统上使用 MCRTsim 模拟器
问题描述
我正在尝试MCRTsim simulator
在我的研究工作中使用。如https://resl.csie.nptu.edu.tw/dokuwiki/doku.php?id=guide中所述,我在指定目录中运行此命令java -jar MCRTsim/dist/MCRTsim2.8.jar
,但没有弹出模拟窗口。相反,我得到了以下例外:
Exception in thread "main" java.lang.NullPointerException
at java.base/java.io.Reader.<init>(Reader.java:167)
at java.base/java.io.InputStreamReader.<init>(InputStreamReader.java:109)
at org.apache.commons.io.IOUtils.copy(IOUtils.java:2440)
at org.apache.commons.io.IOUtils.toString(IOUtils.java:1084)
at org.apache.commons.io.IOUtils.toString(IOUtils.java:1110)
at userInterface.frontEnd.SimulationViewer.setComboBox(SimulationViewer.java:529)
at userInterface.frontEnd.SimulationViewer.initialize(SimulationViewer.java:359)
at userInterface.frontEnd.SimulationViewer.<init>(SimulationViewer.java:97)
at userInterface.UserInterface.initialize(UserInterface.java:45)
at userInterface.UserInterface.<init>(UserInterface.java:31)
at mcrtsim.MCRTsim.main(MCRTsim.java:55)
我使用的是Ubuntu系统和JDK 11。我用Java
的不多。我无法理解这个错误在说什么。有人可以帮我解决这个问题吗?
解决方案
最后,我得到了解决这个问题的方法。我认为这个模拟器是兼容的openjdk-8
。所以,我openjdk-11
从我的系统中删除并安装了openjdk-8
.
安装后openjdk-8
,我运行命令java -jar dist/MCRTsim2.8.jar
。这次我收到以下错误:
Exception in thread "main" java.awt.AWTError: Assistive Technology not
found: org.GNOME.Accessibility.AtkWrapper
at java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:807)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:886)
at java.awt.Window.getToolkit(Window.java:1358)
at java.awt.Window.init(Window.java:506)
at java.awt.Window.<init>(Window.java:537)
at java.awt.Frame.<init>(Frame.java:420)
at javax.swing.JFrame.<init>(JFrame.java:233)
at userInterface.UserInterface.initialize(UserInterface.java:37)
at userInterface.UserInterface.<init>(UserInterface.java:31)
at mcrtsim.MCRTsim.main(MCRTsim.java:55)
之后,我按照这个博客https://askubuntu.com/questions/695560/assistive-technology-not-found-awterror来纠正上述错误。
我刚刚 #assistive_technologies=org.GNOME.Accessibility.AtkWrapper
在/etc/java-8-openjdk/accessibility.properties
文件中评论了这一行。
而且,它开始工作了。