【发布时间】: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