【问题标题】:using eclipse to build rhapsody API compatible code使用eclipse构建rhapsody API兼容代码
【发布时间】:2019-01-31 07:55:06
【问题描述】:

我有一些可以构建和运行的小代码:

setlocal
set PATH=C:\Rhapsody\Rhapsody_8_2_1\jdk\bin;%PATH%
javac java_test.java -cp c:\pathto\rhapsody.jar
java -Djava.library.path=C:\Users\username\IBM\Rational\Rhapsody\8.2.1\Share\JavaAPI -cp c:\pathto\rhapsody.jar;. java_test

它编译并运行没有警告/错误。

我想调试这个,所以我下载了最新的 eclipse 版本并设置了一个 procjet。

我将“C:\Rhapsody\Rhapsody_8_2_1\jdk\”添加为“rhap jdk”,并通过将库选项卡上的 JRE 系统设置为此(备用jre)“rhap jdk”。 我还将 rhapsody.jar 添加为“外部 jar”

如果我尝试运行代码,它会在第一个 rhapsody 类上停止,并出现无法加载类的类加载器异常:

Exception in thread "main" java.lang.UnsatisfiedLinkError: rhapsody (Not found in java.library.path)
    at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1348)
    at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1318)
    at java.lang.System.loadLibrary(System.java:552)
    at com.telelogic.rhapsody.core.RhapsodyAppServer.<clinit>(Unknown Source)
    at ImportDependencies.main(ImportDependencies.java:181)

我还尝试将环境变量(在“运行配置”中)java.library.path 设置为 C:\Users\username\IBM\Rational\Rhapsody\8.2.1\Share\JavaAPI 我也尝试添加这个目录作为库目录。

有什么问题

【问题讨论】:

    标签: java eclipse rhapsody


    【解决方案1】:

    我认为应用程序正在寻找 rhapsody.jar 文件,因此您需要将该文件添加到 Java 项目的类路径中。 jar文件可以在安装文件夹8.2.1/share/JavaAPI/中找到

    还有一个技巧,将jar文件添加到项目后有一个选项调用Native library location,您需要将值设置为该jar文件所在的目录

    【讨论】:

      【解决方案2】:

      这很可能是因为它没有加载正确的 Rhapsody.dll。带有 rhapsody jar 的文件夹应如下所示:

      我相信里面的默认是64位dll,所以只需将其与WIN32目录中的.dll交换即可。

      【讨论】:

      • 在我的文件夹中完全相反。我有一个 64 位的子文件夹。狂想曲(我猜它的jdk)也是32位的。这是否与配置为使用 32 位 jre 的 64 位 eclipse 冲突?
      猜你喜欢
      • 1970-01-01
      • 2015-04-30
      • 1970-01-01
      • 2023-03-12
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多