使用openCMIS时java.lang.NoClassDefFoundError:com / ctc / wstx / stax / WstxInputFactory

时间:2016-01-09 00:14:29

标签: alfresco classnotfoundexception opencmis apache-chemistry

我正在尝试这个从Alfresco获取文档的新程序。 我的是Alfresco版本4.2和最新的openCMIS。以下是我的代码。

public class Test {

/**
 * @param args
 */
public static void main(String[] args) {

    SessionFactory sessionFactory = SessionFactoryImpl.newInstance();
    Map<String, String> parameter = new HashMap<String, String>();

    Session session = null;
    OperationContext operationContext = new OperationContextImpl();
    operationContext.setCacheEnabled(true);


    parameter.put(SessionParameter.USER, "admin");
    parameter.put(SessionParameter.PASSWORD, "admin");
    parameter.put(SessionParameter.ATOMPUB_URL, "http://alfresco-url.com/alfresco/api/-default-/public/cmis/versions/1.0/atom");

    parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
    parameter.put(SessionParameter.LOCALE_ISO3166_COUNTRY, "us");
    parameter.put(SessionParameter.LOCALE_ISO639_LANGUAGE, "en");
    parameter.put(SessionParameter.LOCALE_VARIANT, "");


    Repository soleRepository = (Repository)sessionFactory.getRepositories(parameter).get(0);
    session = soleRepository.createSession();

    session.setDefaultContext(operationContext);

    String cmisObjectId = "workspace://SpacesStore/u456ce2c-5675-3f66-fgh5-d45g567w35";

    CmisObject obj = session.getObject(new ObjectIdImpl(cmisObjectId));

}

}

我在最后一行得到以下异常。

  

SLF4J:失败了   load class&#34; org.slf4j.impl.StaticLoggerBinder&#34;。 SLF4J:默认为   无操作(NOP)记录器实现SLF4J:请参阅   http://www.slf4j.org/codes.html#StaticLoggerBinder进一步说明   细节。线程&#34; main&#34;中的例外情况java.lang.NoClassDefFoundError:   com / ctc / wstx / stax / WstxInputFactory at   org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubParser.parse(AtomPubParser.java:98)     在   org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.parse(AbstractAtomPubService.java:620)     在   org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.getRepositoriesInternal(AbstractAtomPubService.java:809)     在   org.apache.chemistry.opencmis.client.bindings.spi.atompub.RepositoryServiceImpl.getRepositoryInfos(RepositoryServiceImpl.java:65)     在   org.apache.chemistry.opencmis.client.bindings.impl.RepositoryServiceImpl.getRepositoryInfos(RepositoryServiceImpl.java:90)     在   org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:135)     在   org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:112)     在com.test.Test.main(Test.java:55)引起:   java.lang.ClassNotFoundException:com.ctc.wstx.stax.WstxInputFactory     在java.net.URLClassLoader $ 1.run(URLClassLoader.java:202)at   java.security.AccessController.doPrivileged(Native Method)at   java.net.URLClassLoader.findClass(URLClassLoader.java:190)at   java.lang.ClassLoader.loadClass(ClassLoader.java:306)at   sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)at at   java.lang.ClassLoader.loadClass(ClassLoader.java:247)... 8更多

任何人都可以帮我找到我需要添加的JAR吗?

2 个答案:

答案 0 :(得分:2)

您可以在此处找到它:Maven Central

根据Marged的建议,使用maven会更容易。

答案 1 :(得分:0)

我建议您从here获取jar并将其添加到类路径中。