【问题标题】:UnsatisfiedLinkError when trying to run Real time Java code on Websphere Real Time JVM on Linux尝试在 Linux 上的 Websphere Real Time JVM 上运行实时 Java 代码时出现 UnsatisfiedLinkError
【发布时间】:2011-12-02 17:35:31
【问题描述】:

我正在尝试在 Ubuntu Linux 32 位上使用 Websphere Realtime Java VM 运行实时 Java 代码。 我可以获得要构建的代码,但由于某种原因,VM 无法找到实现 javax.realtime 类的本机库并引发 UnsatisfiedLinkError。任何有关如何解决此问题的想法将不胜感激。

import javax.realtime.*;
public class HelloRTWorld {

public static void main(String[] args) {
    RealtimeThread rt = new RealtimeThread() {
        public void run() {
            System.out.println("Hello RT World");
        }
    };
    rt.start();
}   
}

这是错误跟踪:

    Exception in thread "main" java.lang.UnsatisfiedLinkError: javax/realtime/RealtimeThread.putAsyncHandlerClassToThread(Ljava/lang/Class;)V
at javax.realtime.RealtimeThread.<clinit>(RealtimeThread.java:122)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:233)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at net.suhrid.HelloWorld.main(HelloWorld.java:9)

【问题讨论】:

  • 你用什么命令行来调用它?
  • 我已经在 Eclipse 中设置了项目,它会产生上述错误。我尝试了以下产生相同错误的命令行:opt/ibm/javawrt3/bin/java -classpath /opt/ibm/javawrt3/jre/lib/i386/realtime/jclSC170/realtime.jar:。 HelloRTWorld。
  • 打印 java.library.path 系统属性给出:/opt/ibm/javawrt3/jre/lib/i386/default:/opt/ibm/javawrt3/jre/lib/i386:/opt/ibm/javawrt3/jre/lib/i386/j9vm:/opt/ibm/javawrt3/jre/lib/i386:/opt/ibm/javawrt3/jre/../lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/i386:/usr/lib/xulrunner-addons:/usr/lib/xulrunner-addons:/usr/lib. 我尝试将/opt/ibm/javawrt3/jre/lib/i386/realtime 添加到 java.library.path,我假设它包含用于实时 java 实现的本机库。还是没有运气。

标签: java real-time-java


【解决方案1】:

您不需要专门在命令行上放置任何 jar,但您需要使用 -Xrealtime 运行以激活实时支持。

您可能还会遇到 Ubuntu 内核无法提供足够实时性能的问题(因此 WRT 可能无法使用此选项启动)。支持的实时操作系统是 Red Hat 的 MRG 和 Novell SLERT。

【讨论】:

  • 这是正确的。谢谢@马克。你认为在 Ubuntu 中安装 RT Kernel 会起作用吗?
  • 这是可能的,但我们没有尝试过。据我所知,Ubuntu 不支持它,这使得支持该配置的产品变得困难。
【解决方案2】:

我遇到了完全相同的问题。我将 Websphere IBM Realtime 提供的 realtime.jar 库添加到我的项目中,但无法运行我的脚本(我在控制台中得到的输出与您相同)。最后我在 VM Argumnets 中添加了 -Xrealtime(在 Run Configurations 菜单的 Arguments 选项卡中)并成功了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    • 2015-08-19
    • 2022-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    相关资源
    最近更新 更多