在 Ubuntu 12.04 LTS 上,我安装了 Sun 的 JDK7、Eclipse 和 Arduino IDE。我希望 Arduino 使用 OpenJDK 6,希望 Eclipse 使用 Sun 的 JDK 7。
根据我的理解,我需要在运行每个应用程序之前手动选择要使用的 Java。这让我找到了update-java-alternatives -l命令。当我运行它时,我只看到以下内容:
java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64
Run Code Online (Sandbox Code Playgroud)
但是当我运行时,update-alternatives --config java我看到以下内容:
*0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java manual mode
2 /usr/lib/jvm/jdk1.7.0/bin/java manual mode
3 /usr/lib/jvm/jre1.7.0/bin/java manual mode
Run Code Online (Sandbox Code Playgroud)
我不明白为什么update-java-alternatives不显示相同的 3 个选项。我也不明白如何在 OpenJDK6 和 JDK7 之间切换。我如何使用 OpenJDK6 进行 Arduino 开发,使用 Sun JDK7 进行 Eclipse/Android 开发?
在全新的 Ubuntu 18.04 安装和 netbeans 安装之后,netbeans 不会启动。netbeans 已安装
sudo apt install netbeans
Run Code Online (Sandbox Code Playgroud)
其他一些 Java 程序(至少是 Eclipse)也无法启动。
从命令行启动 netbeans 时,JVM 会打印以下警告:
? ~ netbeans
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.netbeans.ProxyURLStreamHandlerFactory (file:/usr/share/netbeans/platform18/lib/boot.jar) to field java.net.URL.handler
WARNING: Please consider reporting this to the maintainers of org.netbeans.ProxyURLStreamHandlerFactory
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
? ~
Run Code Online (Sandbox Code Playgroud) 我试过了,错误是:
Exception in thread "main" java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
at java.desktop/java.awt.Toolkit.newAWTError(Toolkit.java:472)
at java.desktop/java.awt.Toolkit.fallbackToLoadClassForAT(Toolkit.java:488)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1608)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at java.desktop/java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:532)
at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:613)
at java.desktop/javax.swing.UIManager.getSystemLookAndFeelClassName(UIManager.java:660)
at com.cburch.logisim.gui.start.Startup.parseArgs(Startup.java:250)
at com.cburch.logisim.Main.main(Main.java:32)
Run Code Online (Sandbox Code Playgroud)
错误似乎是...
引起:java.lang.ClassNotFoundException: org.GNOME.Accessibility.AtkWrapper at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) at java.base/jdk.internal.loader.ClassLoaders$ AppClassLoader.loadClass(ClassLoaders.java:190) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/ java.lang.Class.forName(Class.java:374)
在 java.desktop/java.awt.Toolkit.fallbackToLoadClassForAT(Toolkit.java:485)
... 14 更多
apt-cache policy logicsim logisim的输出
logisim:
Installed: 2.7.1~dfsg-1
Candidate: 2.7.1~dfsg-1
Version table:
*** 2.7.1~dfsg-1 500
500 http://in.archive.ubuntu.com/ubuntu …Run Code Online (Sandbox Code Playgroud)