2015-02-23 96 views
1

UPDATE(我已經更新了問題,因爲我只遇到以下錯誤)類未發現異常

我在Eclipse中網取代了耶拿庫(獲取更新的版本)應用。雖然我可以使用新庫並且無錯地編譯,但是當我的代碼達到Jena的方法時,我會收到以下異常。

SEVERE: Servlet.service() for servlet [com.packages.servlets.CreatePatternServlet] in context with path [/TempProject] threw exception [Servlet execution threw an exception] with root cause 
java.lang.NoClassDefFoundError: Could not initialize class com.hp.hpl.jena.rdf.model.impl.ModelCom 

我在我的項目和我遇到的其他解決方案log4j.properties似乎沒有幫助。 非常感謝提前

回答

2

耶拿圖書館取決於slf4j,所以你需要得到slf4j-api.jar在你的類路徑。如果你使用Maven,你可以用這個XML片斷簡單的添加Jena library

<dependency> 
    <groupId>com.hp.hpl.jena</groupId> 
    <artifactId>jena</artifactId> 
    <version>2.6.4</version> 
</dependency> 

,它將把所有的依賴關係,而無需您任何額外的工作。

+0

實際上我之前使用的是jena,問題出現在當前版本中。一個簡單的問題:將jar添加到classpath和buildpath是否有區別? – emrahozkan 2015-02-23 12:39:59

+0

你是否也有第一個錯誤的建議? – emrahozkan 2015-02-23 12:55:39

+0

如果它位於構建路徑上,但不在類路徑上,則它會導致noclassdeffoundexception,如果它不是由例如。應用程序服務器。 – meskobalazs 2015-02-23 13:04:09

0

問題解決了,我把庫添加到WEB-INF下的lib文件夾中。

+0

這並不能解答這個問題。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 – 2015-02-23 22:54:19

+0

爲什麼不呢?我提到我正在使用jena並指定了一個未找到的類。當我將jar文件複製到WEB-INF下的lib文件夾中時,問題就解決了。它怎麼不是答案? – emrahozkan 2015-02-24 01:15:42