1

我最近从我的桌面开始使用 CM API 编写测试客户端。在尝试检索提供程序时,它会引发此异常:

代码行

StpProvider provider = (StpProvider) ProviderFactory.createProvider(CcProvider.PROVIDER_CLASS, callback);

PROVIDER_CLASS 是“com.ibm.rational.stp.client.internal.core.StpProviderImpl”

例外

...CRVAP0055E(内部错误):尝试实例化域子提供程序“com.ibm.rational.stp.client.internal.cq.CqJniSubprovider”引发异常。有关详细信息,请参阅嵌套异常。... CRVAP0049E(内部错误):无法实例化协议提供程序:cqjniproxy(在 java.library.path 中找不到) ...java.lang.reflect.InvocationTargetException:在 com.ibm.rational.stp.cs.internal.util.StpExceptionImpl.realException(StpExceptionImpl.java:493) 在 com.ibm.rational.stp.cs.internal.util .StpExceptionImpl.(StpExceptionImpl.java:572) 在 com.ibm.rational.stp.cs.internal.util.StpExceptionImpl.(StpExceptionImpl.java:538) 在 com.ibm.rational.stp.client.internal.core.CoreProvider .(CoreProvider.java:2879) 在 com.ibm.rational.stp.client.internal.core.CoreProvider.(CoreProvider.java:2772) 在 com.ibm.rational.stp.client.internal.core.StpProviderImpl.( StpProviderImpl.java:36) 在 com.ibm.rational.stp.client.internal.core.StpProviderImpl.(StpProviderImpl.java:45) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl。newInstance(NativeConstructorAccessorImpl.java:56) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:527) 在 javax.wvcm.ProviderFactory.createProvider(ProviderFactory .java:93) 在 web.mrs.cmapi.Main.getCCProvider(Main.java:53) 在 web.mrs.cmapi.Main.main(Main.java:31)

我在 IBM 网站上发现了几页提到是否有任何其他资源(如 BIRT 或 CQ 报告服务器)已经在使用 CM API 提供程序,那么我会得到这个异常,但由于我目前正在我的桌面上测试它,没有这样的实例正在运行(除非我错过了什么)。

以下链接包含此信息:

https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014430264

http://www-01.ibm.com/support/docview.wss?uid=swg21577252

我们当前安装的 clearcase/Clearquest 版本是 8.0.0.10

我非常感谢任何人可以提供的所有帮助,因为这对于解决我们目前在命令提示符下使用 cleartool 面临的几个问题非常有用。

4

1 回答 1

0

您提到的技术说明指出:

CRVAP0049E 无法实例化协议提供者:cqjniproxy(未在 java.library.path 中找到)

当两个不同的 Web 应用程序尝试使用变更管理 (CM) API 的 JNI 适配器访问 ClearQuest 时,会发生此错误

例如,如果 BIRT 和用于 Crystal Reports 的 ClearQuest Report Server 都部署到同一个 Web 服务器,那么只有一个服务器应用程序可以运行使用 Change Management API JNI 数据源的报告(无论哪个先连接,直到概要文件重新启动)。

在您的情况下,您可能需要安装ClearQuest Adapter 和 ClearQuest Client 库,就像在这个线程中一样:请参阅“创建 Rational ClearQuest 和 Rational RequisitePro 共享库

也许ClearTeam 服务器中有一个选项可以指定您根本不使用(也不需要)ClearQuest。

正如OP Karteek Dasari评论如下

根本原因 [是] 需要为 Clearcase 客户端安装额外的“CCRC WAN 服务器”,它提供了提供程序实例化所需的额外 jar。
此外,提供者类将是NETWORK_PROVIDER_CLASS.

看:

ClearCase 8:CCRC 视图

ProviderFactory.createProvider(CcProvider.NETWORK_PROVIDER_CLASS , callback); 

ClearCase 8:动态视图

ProviderFactory.createProvider(CcProvider.LOCAL_PROVIDER_CLASS , callback); 
于 2014-09-05T15:25:01.273 回答