0

我尝试实现一个 Java 应用程序来同步沙箱。

Command cmd = new Command( Command.SI, "createsandbox" );
cmd.addOption( new Option( "recurse" ) );
cmd.addOption( new Option( "nopopulate" ) );
cmd.addOption( new Option( "project", ptcProject ) );
cmd.addOption( new Option( "cwd", sandboxDir ) );
api.runCommand( cmd );

使用这部分源代码,我得到了这个异常。

Sandboxes cannot be created or imported directly on the Integrity Server.

作为我用于项目的输入

Project: #p=e:/MKSProjects/<unknown>/<unknown>.pj#<subproject>/project.pj
cwd: C:\\Temp\\<notexistingfolder>

这里有什么问题?我的 MKSAPI.jar 版本是 4.15

4

1 回答 1

0

正如@vasilenicusor 所说,使用 LocalIntegrationPoint 在本地机器上创建一个沙箱。

此代码按您期望的方式工作...

IntegrationPointFactory ipfact = IntegrationPointFactory.getInstance();

IntegrationPoint ip = ipfact.createLocalIntegrationPoint(APIVersion.API_4_16);

Session session = ip.createNamedSession("test", APIVersion.API_4_16, user, passwd);

CmdRunner cr = session.createCmdRunner();

Command cmd = new Command( Command.SI, "createsandbox" );
cmd.addOption( new Option( "recurse" ) );
cmd.addOption( new Option( "nopopulate" ) );
cmd.addOption( new Option( "project", ptcProject ) );
cmd.addOption( new Option( "cwd", sandboxDir ) );

cr.execute(cmd);

cr.release();

session.release();

ip.release();
于 2018-04-12T15:53:29.080 回答