当使用servlet中的jackrabbit-standalone-2.4.2.jar尝试访问版本库 时,出现上述错误。我没有使用jackrabbit战争,因为我已经有一个胖客户端应用程序工作,我想要 重用尽可能多的代码。我只是假设这是可能的。NoClassDefFoundError访问来自servlet的jackrabbit jar
测试我创建了一个小型Web应用程序。既然不能附加一个zip文件 我将刚才复制下面的doPost()方法:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Repository repository = new TransientRepository(
"repository.xml", //embedded within the war
"path/to/home/dir");
Session session = null;
try {
session = repository.login();
System.out.println("root node identifier: " +
session.getRootNode().getIdentifier());
} catch (Exception e) {
e.printStackTrace();
} finally {
session.logout();
}
}
当我发布到从HTML这个servlet形成异常有2个部分:
java.lang.NoClassDefFoundError: javax/jcr/Repository
java.lang.ClassNotFoundException: javax.jcr.Repository
时我想补充JCR-2.0.jar在它然后我得到一个不同的错误:
java.lang.NoClassDefFoundError: org/apache/jackrabbit/core/TransientRepository
嗨托马斯, 我再次检查了一切。 jar包含在我的classpath中,并且版本也是正确的。但仍然得到这个错误。 – 2012-08-16 09:55:56