java - Java 向后兼容性
问题描述
我有一个 Fedora 29 i386 虚拟机,安装了两个版本的 java:
java-11-openjdk.i386 (/usr/lib/jvm/java-11-openjdk-11.0.ea.28-2.fc29.i386/bin/java)
java-1.8.0-openjdk.i386 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-6.fc29.i386/jre/bin/java)
当我使用 openjdk 8 运行我的 java swing 应用程序时,应用程序运行良好,而使用 openjdk 11 时会引发异常:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-11-openjdk-11.0.ea.28-2.fc29.i386/lib/libawt_xawt.so
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2620)
at java.base/java.lang.Runtime.load0(Runtime.java:767)
at java.base/java.lang.System.load(System.java:1831)
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2638)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
at java.base/java.lang.System.loadLibrary(System.java:1867)
at java.desktop/java.awt.Toolkit$3.run(Toolkit.java:1399)
at java.desktop/java.awt.Toolkit$3.run(Toolkit.java:1397)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/java.awt.Toolkit.loadLibraries(Toolkit.java:1396)
at java.desktop/java.awt.Toolkit.<clinit>(Toolkit.java:1429)
at java.desktop/java.awt.Component.<clinit>(Component.java:621)
在新版本的java中有没有向后兼容?
解决方案
推荐阅读
- visual-studio-code - 样式属性在 .vue 文件中没有建议
- python-3.x - 是否可以在 HTML 表中移动并使用 BeautifulSoup4 获取数据?
- java - Java(FX) 在播放一种声音时,播放另一种声音
- reactjs - 如何使用 Reactjs 将输入附加到 axios 调用端点
- python - Django REST Framework:如何向使用直通表的 M2M 序列化程序添加外主键?
- c# - C#继承:如何将父对象分配给子实例
- bash - 使用 bash 查询大的制表符分隔文件
- html - Angular 指令 *ngIf 未按预期工作
- javascript - CodeMirror - 剪切值并附加文本
- excel - 使用 VBA 根据部分文件名将文件移动到子文件夹