【问题标题】:java.lang.UnsatisfiedLinkError: cqjnilinuxproxy (Not found in java.library.path)java.lang.UnsatisfiedLinkError: cqjnilinuxproxy(在 java.library.path 中找不到)
【发布时间】:2015-08-07 03:01:43
【问题描述】:

我在 WAS 上部署了使用 Clearquest jar 连接到 Clearquest 的 Web 服务。在运行时,我收到以下错误。

java.lang.Exception: Cannot parse the output since it has an error. Error = ReasonCode = conflictCRVAP0049E (internal-error):  Cannot instantiate protocol provider: cqjnilinuxproxy (Not found in java.library.path) 
  ...java.lang.reflect.InvocationTargetException: 
        at com.ibm.rational.stp.cs.internal.util.StpExceptionImpl.realException(StpExceptionImpl.java:493)
        at com.ibm.rational.stp.cs.internal.util.StpExceptionImpl.<init>(StpExceptionImpl.java:572)


Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:56)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:527)
        at com.ibm.rational.stp.client.internal.core.ProtocolSubprovider.setProtocolProvider(ProtocolSubprovider.java:614)
        ... 57 more
Caused by: java.lang.UnsatisfiedLinkError: cqjnilinuxproxy (Not found in java.library.path)
        at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1090)
        at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1054)
        at java.lang.System.loadLibrary(System.java:510)
        at com.rational.clearquest.cqjni.CQJNIBaseObj.<clinit>(Unknown Source)
        at java.lang.J9VMInternals.initializeImpl(Native Method)
        at java.lang.J9VMInternals.initialize(J9VMInternals.java:235)
        at java.lang.J9VMInternals.initialize(J9VMInternals.java:202)
        at com.ibm.rational.stp.client.internal.cqjni.CqJniProtocol.<init>(CqJniProtocol.java:2343)
        ... 62 more

我关注了技术说明 https://www-304.ibm.com/support/docview.wss?uid=swg21515079 - “从需要 Java 本机接口 (JNI) 的 ClearQuest 数据源运行报告时,在 64 位 WebSphere 服务器上发生异常。

按照建议,WAS 32 位安装在 64 位上。但错误仍然发生。你能告诉我这个图书馆在哪里或者出了什么问题吗?

谢谢, 阿尔西

【问题讨论】:

  • 该错误表明根本找不到本机库文件,而不是它的位数错误(尽管您后来可能遇到了这个问题)。你在什么平台上运行?本机库文件的名称是什么?您将本机库文件放在文件系统的什么位置?您是如何配置进程或 WebSphere 来查找本机库文件的?
  • 嗨,我可以在路径 /opt/rational/clearquest/linux_x86/shlib 下找到对相关库 (cqjnilinuxproxy) 的类似引用的唯一地方,我可以在其中找到诸如 libcqjnilinuxproxy.so 之类的文件、libcqquery.so、libicuioratlcq.so.48.0、libcqjniproxy.so 等。我尝试将此路径添加到 WAS 共享库,并将其包含在我的应用程序的 WAS 中的耳朵参考库部分中。错误仍然存​​在。请让我知道我可以在这里做什么。
  • 我建议编写一个简单的独立 Java 程序来执行 System.loadLibrary 并找出使其工作所需的配置,然后将其传输到 WAS 的配置中。如果将本机库添加到 EAR,则 CQJNIBaseObj 必须由应用程序类加载器加载,而不是 WAR 类加载器。无论如何,建议您将本机库添加到服务器而不是:www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/…

标签: java web-services websphere clearquest


【解决方案1】:

需要将 ClearQuest 库和 jar 放在路径上,以便 WebSphere 可以拾取它们。您是否在启动 WebSphere 配置文件之前获取了 cq_setup.csh?您需要获取 cq_setup.csh 的源代码,然后在同一个 shell 中启动配置文件。

【讨论】:

    猜你喜欢
    • 2018-07-05
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 2014-05-18
    • 2013-10-21
    相关资源
    最近更新 更多