我有一个简单的XML文件,我已经解析为JSON。一切都很好,花花公子,我有一个独立的Java类(即它有一个public static void main (String args[])....
)
这有一个私有构造函数(因为我需要用字符串或实际数据来调用它)。所以我有两个返回对象实例的方法。你可以告诉我,我知道一些Java。
行。当我在运行main方法的Eclipse中运行代码时,我的文件会根据需要加载和解码。它也适用于我通过JUnit运行的原始String。
所以我知道以下事实 -
现在问题:
只要我在Spring框架中运行它,我就可以通过独立代码编写标准输出的整个文件内容。
但在它可以运行任何东西之前我得到以下错误 -
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/json/simple/parser/ParseException org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:920) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501) javax.servlet.http.HttpServlet.service(HttpServlet.java:621) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
独立代码在Eclipse中运行,Spring使用Tomcat 7指向该代码。
为什么没有正确找到ParsException?
调用Spring控制器中的导入是
import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import org.apache.commons.lang.StringUtils; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser;
他们是一种改变构建顺序的方法,并且会修复它吗?
答案 0 :(得分:7)
看起来你错过了在你的类路径中包含json-simple-.jar。包括相同,它应该得到解决。
希望这有帮助!
答案 1 :(得分:4)
在构建路径中添加json-simple-1.1.1.jar文件。在Eclipse上,右键单击project->构建路径 - >配置构建路径 - > java构建路径 - >添加外部罐子 - >选择jar文件。
将构建路径条目添加到部署程序集中。在同一属性窗口中,选择“部署程序集”选项。然后添加“Java Build Path”条目。这应该显示您刚刚在第一步中创建的构建路径条目。
答案 2 :(得分:0)
你错过了一个jar部署。
它与Tomcat7有关。需要导出一些jar(忘了哪些)其他Web服务器不需要Tomcat。
答案 3 :(得分:0)
你可以在你的类路径中添加这个jar json-simple-1.1.1.jar并尝试一下吗? 可以在http://code.google.com/p/json-simple/downloads/detail?name=json-simple-1.1.1.jar
下载此jar答案 4 :(得分:0)
我最终使用的解决方案是更改为sourceforge.net json解析器,一些代码调整和我的JUnit测试仍然有效,Tomcat没有抱怨。这可能不是最好的解决方案,但它有效。
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
答案 5 :(得分:0)
我遇到了类似的错误,花了3 4个小时删除并添加了新的jar文件。我的问题是我直接从下载位置添加了jar文件,即ZIP文件.. !!!添加适当的提取jar文件后,我的问题似乎得到了解决。希望这有助于某人...... !!
答案 6 :(得分:0)
如果你在春天制作AI,就像我遇到这个错误一样:
您还需要将Jar添加到您的AI“jlib”文件夹,例如“... \ AI \ Skirmish \ MyAI \ 0.1 \ jlib”。
仅在Eclipse或Netbeans中添加它并构建项目是不够的。春天也必须有罐子。
我知道这是一个迟到的答案,但可以帮助其他人犯同样的错误。
答案 7 :(得分:0)
使用以下Java库处理JSONArray和JSONObject
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20200518</version>
</dependency>
答案 8 :(得分:-5)
我给你的建议;它应该是
public static void main(String[] args) {
...
}
而不是
public static void main(String args[]) {
...
}