GWT在构建路径中找不到org.json

时间:2013-01-04 16:38:36

标签: java eclipse gwt

我有一个奇怪的问题。我从Google Web Toolkit收到错误,说明以下内容:

com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract 
com.pluspopularity.model.LinkItem com.pluspopularity.web.client.GreetingService.greetServer(java.lang.String) 
throws java.lang.IllegalArgumentException' threw an unexpected exception: 
java.lang.NoClassDefFoundError: org/json/JSONException

现在,我可以找到很多关于此java.lang.NoClassDefFoundError: org/json/JSONException例外的问题,但它们似乎都由GWT 2.5版修复,因为org.json包含在gwt-dev.jar包中。

我有2.5版,我可以在GWT SDK库中看到org.json

所以我不知道这个错误来自哪里。

我注意到的事情:GWT SDK文件夹包含很多jar文件,但是当我在Eclipse中添加它作为SDK时,只包含4个:gwt-user.jargwt-dev.jarvalidation-api-1.0.0.GA-sources.jarvalidation-api-1.0.0.GA.jar。在关于2.5之前的GWT版本中出现此错误的一些问题中,我看到了gwt-servlet-deps.jar文件的提及。该文件位于我的GWT SDK文件夹中,但它不包含在Eclipse的SDK库中。 我通过Eclipse重新安装了GWT SDK,但仍然只包含了这4个文件。

2 个答案:

答案 0 :(得分:2)

在运行时(显然),在服务器端出现错误。

如果Eclipse插件没有为你做(我不知道它是否应该这样做),你应该去gwt-servlet-deps.jar(或任何包含org.json的JAR)并将其复制到WEB-INF/lib旁边的gwt-servlet.jar

答案 1 :(得分:0)

org.json.JSONException存在于 json-20090211.jar

enter image description here

gwt-user和request-factory-server都依赖于它。在maven设置中,它会通过请求工厂自动复制,因为它们都在运行时范围内。