2016-09-06 2 views
0

Ich versuche, die CQ/AEM-Repository von Standalone-Java-Anwendung zuzugreifen, aber unter Fehler bekommen, während die Haupt-Thread ausgeführt wirdZugriff auf Cq ​​/ AEM-Repository von einem externen Standalone-Anwendung

Exception in thread "main" java.util.ServiceConfigurationError: javax.jcr.RepositoryFactory: Provider org.apache.jackrabbit.jcr2dav.Jcr2davRepositoryFactory could not be instantiated at java.util.ServiceLoader.fail(Unknown Source) at java.util.ServiceLoader.access$100(Unknown Source) at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source) at java.util.ServiceLoader$LazyIterator.next(Unknown Source) at java.util.ServiceLoader$1.next(Unknown Source) at org.apache.jackrabbit.commons.JcrUtils.getRepository(JcrUtils.java:192) at org.apache.jackrabbit.commons.JcrUtils.getRepository(JcrUtils.java:263) at pwcnew.RepositoryAccessFromOutside.main(RepositoryAccessFromOutside.java:19) Caused by: java.lang.NoClassDefFoundError: org/apache/jackrabbit/jcr2spi/config/RepositoryConfig at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) ... 6 more Caused by: java.lang.ClassNotFoundException: org.apache.jackrabbit.jcr2spi.config.RepositoryConfig at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 10 more

Und die Java-Klasse ist:

import javax.jcr.Repository; 
import javax.jcr.RepositoryException; 
import javax.jcr.Session; 
import javax.jcr.SimpleCredentials; 
import javax.jcr.Node; 
import org.apache.jackrabbit.commons.JcrUtils; 
public class RepositoryAccessFromOutside { 

    public static void main(String[] args) { 
     Session repoSession = null; 

     try { 
      System.out.println("inside the class"); 
      final String path = "http://localhost:4502/crx/server"; 
      Repository myReposioty = JcrUtils.getRepository(path); 

      repoSession = myReposioty.login(new SimpleCredentials("admin", 
        "admin".toCharArray())); 

      Node rootNode = repoSession.getRootNode(); 
      System.out.println("Root Node::" + rootNode.toString()); 
      repoSession.save(); 
      repoSession.logout(); 

     } catch (RepositoryException e) { 
      // TODO Auto-generated catch block 
      System.out.println("Exception is" + e.getMessage()); 
     } 

    } 

} 

Kann mir jemand dabei helfen. danke im voraus ...

+0

meine seltsame Beobachtung, wenn versucht wird, das Problem zu replizieren, funktioniert es ohne Pfad, z. B. 'Repository myReposioty = JcrUtils.getRepository();' – VAr

Antwort

Verwandte Themen