2012-01-31 61 views
0

我需要啓用啓用postgresql持久性支持的jackrabbit。我改變了的repository.xml配置文件中添加合適的屬性來連接數據庫,但我不能設置類路徑,併爲這個原因,這引發異常:用postgres啓動jackrabbit standalone

Caused by: java.lang.ClassNotFoundException: org.postgresql.Driver 

我用:

java -jar jackrabbit-standalone-2.2.10.jar -c ./repository.xml -p 8081 -d 

我該如何告訴java jdbc postgres jar文件在哪裏?使用-jar將忽略任何類路徑定義。

感謝, 安德烈

回答

1

最簡單的解決方案可能是PostgreSQL的JDBC驅動程序放到lib/ext目錄中的JRE。這樣PostgreSQL驅動程序在系統類路徑中也可用於以java -jar開頭的應用程序。

如果你不希望修改全局JRE的設置,你也可以明確地調用與正常類路徑的設置兔崽子,獨立主類,像這樣:

java -cp jackrabbit-standalone.jar:postgresql.jar \ 
    org.apache.jackrabbit.standalone.Main -c ./repository.xml -p 8081 -d 
+0

是的,我試過,但它提出了一個NullPointerException – 2012-01-31 17:29:02

+0

嗯,這很奇怪。你能寄給我NPE的完整堆棧跟蹤嗎? – 2012-01-31 19:02:21

+0

是啊......不清楚爲什麼,但今天它工作正常....我不喜歡那樣,因爲我需要知道昨天它沒有工作的原因!但是,感謝您的幫助:) – 2012-02-01 09:36:25