2011-07-20 181 views
0

我正在使用tomcat 5和JSON解析器net/sf/json。我在我的項目中導入json-lib2.4-jdk15.jar,並將其添加到我的tomcat中的「common/endorsed」目錄中。但是當我開始我的servlet時,我有這個例外:Java Json解析器

java.lang.NoClassDefFoundError: net/sf/json/JSONException 
net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:108) 
net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:84) 
com.britecs.atajer.bl.json.SubCategories.getSubCategory(SubCategories.java:37) 
com.britecs.atajer.pl.json.SubCategoriesServlet.doGet(SubCategoriesServlet.java:23) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:689) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 

有人可以幫助我嗎?

回答

3

我不確定'tomcat/common/endorsed'是要使用的正確目錄。你有沒有試過在tomcat/lib上安裝你的JAR文件?

+0

謝謝,現在它工作:) –

+1

我沒有看到沒有理由把它直接放在任何地方的Tomcat目錄。 Jar文件屬於項目的WEB-INF/lib目錄,該文件通過文件或者_war_文件部署到Tomcat。 – Codo

+1

@Codo - 好點。作爲構建過程的一部分,JAR可以放在'WEB-INF/lib'下,這也可以起作用,並且使編譯的WAR文件更加便攜。通常,Tomcat目錄用於在同一臺服務器上運行的多個Web應用程序所需的JAR文件,這似乎不適用於此。但是,JSON解析器是多個webapps可能都需要的庫的一個很好的示例。 – aroth