- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从 Alfresco 开始。我正在学习一本教程书 Alfresco CMIS,并且,为了制作一个 CMIS 客户端 JAVA,我首先使用 Maven 快速入门 Artifact :mvn archetype:generate -DgroupId=com.my.company.app -DartifactId=my- app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
这将创建一个具有目录结构的项目和一个 java 文件 com.my.company.app.App.java 来放置此代码:
package com.mycompany.app;
public class App
{
public static void main( String[] args )
{
CmisClient cmisClient = new CmisClient();
String connectionName = "testeConn";
Session session = cmisClient.getSession(connectionName, "admin", "admin");
}
}
然后用它配置 pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- Bring in the OpenCMIS library for talking to CMIS
servers -->
<dependency>
<groupId>org.apache.chemistry.opencmis</groupId>
<artifactId>chemistry-opencmis-client-impl
</artifactId>
<version>0.13.0</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
在 App 类的同一个包中,我们使用以下内容创建文件 CmisClient.java:
public class CmisClient {
private static Log logger = LogFactory.getLog(CmisClient.class);
private static Map<String, Session> connections = new
ConcurrentHashMap<String, Session>();
public CmisClient() {
}
public Session getSession(
String connectionName, String username, String pwd) {
Session session = connections.get(connectionName);
if (session == null) {
logger.info("Not connected, creating new connection to" +
" Alfresco with the connection id (" + connectionName +
")");
// No connection to Alfresco available, create a new one
SessionFactory sessionFactory =
SessionFactoryImpl.newInstance();
Map<String, String> parameters = new HashMap<String,
String>();
parameters.put(SessionParameter.USER, username);
parameters.put(SessionParameter.PASSWORD, pwd);
parameters.put(SessionParameter.ATOMPUB_URL,
"http://localhost:8080/alfresco/api/-default-/cmis/versions/1.1/atom");
parameters.put(SessionParameter.BINDING_TYPE,
BindingType.ATOMPUB.value());
parameters.put(SessionParameter.COMPRESSION, "true");
parameters.put(SessionParameter.CACHE_TTL_OBJECTS, "0");
// If there is only one repository exposed (e.g. Alfresco),
// these lines will help detect it and its ID
List<Repository> repositories =
sessionFactory.getRepositories(parameters);
Repository alfrescoRepository = null;
if (repositories != null && repositories.size() > 0) {
logger.info("Found (" + repositories.size() +
") Alfresco repositories");
alfrescoRepository = repositories.get(0);
logger.info("Info about the first Alfresco repo [ID=" +
alfrescoRepository.getId() + "][name=" +
alfrescoRepository.getName() + "][CMIS ver supported=" +
alfrescoRepository.getCmisVersionSupported() + "]");
} else {
throw new CmisConnectionException(
"Could not connect to the Alfresco Server, " +
"no repository found!");
}
// Create a new session with the Alfresco repository
session = alfrescoRepository.createSession();
// Save connection for reuse
connections.put(connectionName, session);
} else {
logger.info("Already connected to Alfresco with the " +
"connection id (" + connectionName + ")");
}
return session;
}
}
我正在尝试运行命令 mvn compile exec:java -Dexec.mainClass="com.mycompany.app.App"
来运行书中指示的代码。但是,我得到了错误:http://pastebin.com/kK3YvPRF
我放上了 pastebin,因为我认为所有调试都更容易理解。我的错误是什么?
编辑:我已经尝试在 java 文件中导入 org.apache.chemistry.opencmis.client.api,但没有成功...我认为 maven 会这样做,但有任何问题。
最佳答案
我解决了!我将项目放入 IntelliJ IDEA 并导入从此处下载的 .jar 库 http://chemistry.apache.org/java/opencmis.html我做所有需要的进口。
package com.mycompany.app;
import org.apache.chemistry.opencmis.client.api.Repository;
import org.apache.chemistry.opencmis.client.api.Session;
import org.apache.chemistry.opencmis.client.api.SessionFactory;
import org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl;
import org.apache.chemistry.opencmis.commons.SessionParameter;
import org.apache.chemistry.opencmis.commons.enums.BindingType;
import org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
如果有人需要,那就是那个问题。
关于java - CMIS 客户端 JAVA - Alfresco,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32742858/
一个 Remote CMIS repository包含许多文件夹/文件。 我在写 a software使这些文件夹/文件的本地副本保持同步。 在第一次运行时,我只是递归下载所有内容。 在以后的运行中,
我需要更新 alfresco 上的 ReadOnly 属性,例如“cm:creator 或 cm:created”,以便创建一个 Java 支持的网页脚本: public void onUpdateP
稍微介绍一下,我正在尝试创建一个将启动 cmi5 类(class)的 LMS。但是,我很难理解 cmi5 包和其他一些术语。在此我想问/澄清几点,以明确。 我看过 TinCan/xAPI 示例类(cl
这个问题是 Alfresco Community 中问题的抄袭. 在我们公司,我们使用 Alfresco,其中添加了新的 TestModel 和 ListDate 属性。 接下来我们使用 CMIS A
我正在使用 Apache Chemistry 和 CXF 在 JAVA 中开发通用 CMIS 1.1 客户端应用程序。 目前,我正在努力解决此处描述的 CMIS 的保持功能: http://docs.
我正在使用以下代码通过 CMIS API 在文档服务上创建文件: zipMapFile.put(PropertyIds.OBJECT_TYPE_ID, "sap:versioned"); zipMap
我正在尝试使用路径从 alfresco 获取所有文档 SELECT cmis:path,cmis:objectId,cmis:allowedChildObjectTypeIds FROM cmis:f
我需要特定文件夹路径下的所有文件 我的查询是: query = "SELECT cmis:name FROM cmis:document WHERE CONTAINS('PATH:\"/app:Com
Google 和 Box 等云存储服务为所有文件提供了一个可共享的 url 端点。类似于 http://drive.google.com/my-object-id . 是否有跨大多数服务器实现的默认
基本复制CMIS方法仅复制文档的第一个版本。 如何复制所有版本,因为迭代版本进行逐一复制会引发重复文档异常 最佳答案 通过 CMIS 复制文档的行为与在 Alfresco Share 中复制文档的行为
我使用 Java Servlet 创建了自定义 Web 应用程序,并使用 CMIS 连接到 Alfresco 存储库。 现在我的要求是构建一个Library Navigator;为此,我必须使用 在
我已经使用 Servlet 创建了一个外部 Web 应用程序,该应用程序连接到 alfresco 存储库。 我还可以将文档上传到存储库,从存储库下载文档。 现在我的要求是,我必须根据用户角色删除文档。
我使用 Alfresco 和 OpenCMIS,想要获取文件夹和文档。 查询: SELECT D.cmis:objectId, F.cmis:objectId FROM cmis:folder AS
您能否告诉我是否有可能创建父文档是另一个文档的可能性。 ObjectId parentId = session.createObjectId(someDocumentStringId); sessio
我正在尝试更新 cmis-alfresco 中的文档(具有版本支持)。正常文档更新成功。但是,当我尝试更新具有关系的文档时,出现错误。 newFileProps = new H
我想将特定的文件夹结构从一个 Alfresco 实例复制到另一个实例。 此文件夹结构包含大量应移动的数据,但仅限这一个不超过 30 天的数据。 我想实现一个基于访问者模式的java工具,它可以迭代文件
我尝试使用配置参数连接露天,但出现错误: Config: sessionParameters.put(SessionParameter.USER, "admin"); sessionParam
我刚刚在 Apache OpenCMIS 上注意到了这个项目: https://svn.apache.org/repos/asf/chemistry/opencmis/trunk/chemistry-
我有一个外部 Web 应用程序,通过它我使用 CMIS 连接到露天存储库。 我已经能够将文档上传到存储库或能够下载 n 查看文档。 现在我的要求是,我必须更新特定文档属性。 任何人都可以提供使用 CM
我已使用 Java Servlet 创建了自定义 Web 应用程序,并使用 CMIS 连接到 Alfresco 存储库。 我还使用 Activity 创建了一个简单的工作流程。 现在我的要求是,在查看
我是一名优秀的程序员,十分优秀!