當使用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