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 ...
meine seltsame Beobachtung, wenn versucht wird, das Problem zu replizieren, funktioniert es ohne Pfad, z. B. 'Repository myReposioty = JcrUtils.getRepository();' – VAr