有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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。我用得不多。我无法理解这个错误在说什么。谁能帮我一下吗


共 (1) 个答案

  1. # 1 楼答案

    最后,我找到了这个问题的解决方案。我认为这个模拟器与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纠正了上面的错误

    我刚刚在/etc/java-8-openjdk/accessibility.properties文件中注释了这一行#assistive_technologies=org.GNOME.Accessibility.AtkWrapper

    然后,它开始工作