Java HTTPS 服务器上的 ClearCase 更新
Java ClearCase Update on a HTTPS Server
我正在尝试自动化 ClearCase,因此我可以进行自动构建。第一步是通过脚本更新视图。我正在尝试使用以下 Java 代码:
StpProvider provider = (StpProvider) ProviderFactory.createProvider(
CcProvider.NETWORK_PROVIDER_CLASS, callback);
provider.setServerUrl("https://...");
CcProvider m_provider = provider.ccProvider();
m_provider.registerTrustManagerCallback(callback);
File viewRoot = new File("D:\Views\...");
StpLocation viewLocation = provider.filePathLocation(StpProvider.Domain.CLEAR_CASE, viewRoot);
//Get instance of CcView that represents the CCRC view.
CcView view = m_provider.ccView(viewLocation);
//Options while updating view
CcFile.RefreshFlag[] refreshFlags = new CcFile.RefreshFlag[1];
refreshFlags[0] = CcFile.RefreshFlag.KEEP_HIJACKS;
PropertyRequestItem.PropertyRequest properties = new PropertyRequestItem.PropertyRequest(CcView.DISPLAY_NAME, CcView.CONFIG_SPEC);
view.doRefresh(refreshFlags, properties);
MyCallback 只是 Callback 和 CcTrustManagerCallback 的简单实现,没有额外的逻辑。我收到以下错误:
Exception in thread "main" CcException: CRMAP7009: Der Befehl "Update" ist fehlgeschlagen:
CCRC WAN Server: Error: Unable to get view handle.
Fehler: "java.io.IOException: Status(1001:hasNonOkMsg):
CCRC WAN Server: Error: Unable to get view handle.
"
reason: conflict
resource: view: cc.file:D:/Views/...
at com.ibm.rational.stp.client.internal.cc.Util.ccrcCmdStatusToWvcmException(Util.java:296)
at com.ibm.rational.stp.client.internal.cc.Util.runCommandAndCheckResults(Util.java:160)
at com.ibm.rational.stp.client.internal.cc.WebViewRefresh.run(WebViewRefresh.java:233)
at com.ibm.rational.stp.client.internal.cc.CcFileImpl.doCcRefresh(CcFileImpl.java:392)
at com.ibm.rational.stp.client.internal.cc.CcFileImpl.doRefresh(CcFileImpl.java:381)
at cc.UpdateView.main(UpdateView.java:45)
有谁知道如何解决这个冲突? ClearTeam Explorer 正在运行,我正在通过 Eclipse 插件手动更新。 ClearCase 版本 9.0.1.4 和 ClearTeam Explorer 版本版本:9.0.1.08。使用 Java 8.
问题终于解决了,谢谢@Abra 的回复。但问题只是我必须将 PRIMARY_GROUP 设置为正确的组。
如果您遇到这样的错误,首先检查 ClearTeamExplorer 或正常 ClearCase 的 CC 操作是否有效,然后检查它的配置方式并确保 CLI 具有相同的设置。
我正在尝试自动化 ClearCase,因此我可以进行自动构建。第一步是通过脚本更新视图。我正在尝试使用以下 Java 代码:
StpProvider provider = (StpProvider) ProviderFactory.createProvider(
CcProvider.NETWORK_PROVIDER_CLASS, callback);
provider.setServerUrl("https://...");
CcProvider m_provider = provider.ccProvider();
m_provider.registerTrustManagerCallback(callback);
File viewRoot = new File("D:\Views\...");
StpLocation viewLocation = provider.filePathLocation(StpProvider.Domain.CLEAR_CASE, viewRoot);
//Get instance of CcView that represents the CCRC view.
CcView view = m_provider.ccView(viewLocation);
//Options while updating view
CcFile.RefreshFlag[] refreshFlags = new CcFile.RefreshFlag[1];
refreshFlags[0] = CcFile.RefreshFlag.KEEP_HIJACKS;
PropertyRequestItem.PropertyRequest properties = new PropertyRequestItem.PropertyRequest(CcView.DISPLAY_NAME, CcView.CONFIG_SPEC);
view.doRefresh(refreshFlags, properties);
MyCallback 只是 Callback 和 CcTrustManagerCallback 的简单实现,没有额外的逻辑。我收到以下错误:
Exception in thread "main" CcException: CRMAP7009: Der Befehl "Update" ist fehlgeschlagen:
CCRC WAN Server: Error: Unable to get view handle.
Fehler: "java.io.IOException: Status(1001:hasNonOkMsg):
CCRC WAN Server: Error: Unable to get view handle.
"
reason: conflict
resource: view: cc.file:D:/Views/...
at com.ibm.rational.stp.client.internal.cc.Util.ccrcCmdStatusToWvcmException(Util.java:296)
at com.ibm.rational.stp.client.internal.cc.Util.runCommandAndCheckResults(Util.java:160)
at com.ibm.rational.stp.client.internal.cc.WebViewRefresh.run(WebViewRefresh.java:233)
at com.ibm.rational.stp.client.internal.cc.CcFileImpl.doCcRefresh(CcFileImpl.java:392)
at com.ibm.rational.stp.client.internal.cc.CcFileImpl.doRefresh(CcFileImpl.java:381)
at cc.UpdateView.main(UpdateView.java:45)
有谁知道如何解决这个冲突? ClearTeam Explorer 正在运行,我正在通过 Eclipse 插件手动更新。 ClearCase 版本 9.0.1.4 和 ClearTeam Explorer 版本版本:9.0.1.08。使用 Java 8.
问题终于解决了,谢谢@Abra 的回复。但问题只是我必须将 PRIMARY_GROUP 设置为正确的组。
如果您遇到这样的错误,首先检查 ClearTeamExplorer 或正常 ClearCase 的 CC 操作是否有效,然后检查它的配置方式并确保 CLI 具有相同的设置。