版本控制文件错误,在 java 中使用 Magnolia 与 apache 化学和标准 CMIS

Posted

技术标签:

【中文标题】版本控制文件错误,在 java 中使用 Magnolia 与 apache 化学和标准 CMIS【英文标题】:Versioning files error, using Magnolia in java with apache chemistry and standard CMIS 【发布时间】:2014-02-26 10:16:39 【问题描述】:

我尝试在远程 Magnolia 存储库中创建一个文件作为主要版本。对于这个提议,我在 Eclipse EE IDE 上使用 java、来自 org.apache.chemistry.opencmis.* 的库和 REST 架构。 我用于制作文档的代码如下:

Folder parent = rute.get(rute.size() - 1);

Map<String, Object> properties = new HashMap<String, Object>();
properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:document");
properties.put(PropertyIds.NAME, name);

// content
byte[] content = "".getBytes();
InputStream stream = new ByteArrayInputStream(content);
ContentStream contentStream = new ContentStreamImpl
        (nombre, BigInteger.valueOf(content.length), "text/plain", stream);

// create a major version
try 
    parent.createDocument(properties, contentStream, VersioningState.MAJOR);
 catch (CmisConstraintException e) 
    e.printStackTrace();

它会抛出异常“cmis:document 不支持版本控制”。相同的代码但连接到 Alfresco 而不是 Magnolia 可以完美运行,所以我认为 Magnolia 配置有问题,但我找不到问题。有人可以帮助我吗?

【问题讨论】:

【参考方案1】:

我的猜测是您根本没有在 Magnolia 中注册 cmis:document 类型。 Magnolia 中的所有内容都是开箱即用的 mgnl:content 类型。而且由于 Magnolia 中的版本控制与 Alfresco 中的不同,我什至不会尝试以这种方式制作版本。实际上,要简单得多,如果您使用的是最新版本的 Magnolia,您可以通过 REST 调用 VersionCommand 并告诉 Magnolia 对您需要直接进行版本控制的任何页面进行版本控制。

【讨论】:

以上是关于版本控制文件错误,在 java 中使用 Magnolia 与 apache 化学和标准 CMIS的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio中需要对哪个文件进行版本控制[重复]

JAVA错误请单击详细信息

Java、Maven Jar 文件版本控制部分

WIX:在单独的 cab 文件中升级未版本控制的文件

java使用父类方法,已拿到offer

Git初识