HTTPS服务器上的Java ClearCase更新
我正在尝试自动化ClearCase,这样我就可以进行自动构建。第一步是通过脚本更新视图。我正在使用以下Java代码进行尝试:HTTPS服务器上的Java ClearCase更新,java,clearcase,clearcase-ucm,clearcase-remote-client,clearcase-automation,Java,Clearcase,Clearcase Ucm,Clearcase Remote Client,Clearcase Automation,我正在尝试自动化ClearCase,这样我就可以进行自动构建。第一步是通过脚本更新视图。我正在使用以下Java代码进行尝试: StpProvider provider = (StpProvider) ProviderFactory.createProvider( CcProvider.NETWORK_PROVIDER_CLASS, callback); provider.setServerUrl("https://...&
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_组设置为正确的组
如果您有这样的错误,首先检查ClearTeamExplorer或普通ClearCase的CC操作是否有效,然后检查它是如何配置的,并确保CLI具有相同的设置。一位知识渊博且可靠的消息来源告诉我,不应使用ClearCase java API。另外,根据个人经验,Eclipse、ClearCase插件不能很好地工作,我只是使用ClearCase浏览器来执行签出和签入。我建议编写一个脚本文件,即UNIX/linux的shell脚本或Windows的批处理文件,其中包含
cleartool
命令,如