6

我有一个简单的 XML 文件,已解析为 JSON。一切都很好,花花公子,我有一个独立的 Java 类(即它有一个public static void main (String args[]).....

这有一个私有构造函数(因为我需要用字符串调用它,文件名或实际数据)。所以我有两个方法可以返回对象的一个​​实例。如您所知,我对Java有所了解。

好的。当我在 Eclipse 中运行运行 main 方法的代码时,我的文件会根据需要加载和解码。它也适用于我通过 JUnit 运行的原始字符串。

所以我知道以下事实 -

  1. 静态字符串的解析工作和完美解码
  2. 如果我提供一个文件,它会被正确加载和解码。

现在的问题:

一旦我在 Spring 框架中运行它,我就可以将我通过独立代码运行的整个文件内容写入标准。

但在它可以运行任何东西之前,我得到以下错误 -

org.springframework.web.util.NestedServletException:处理程序处理失败;嵌套异常是 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 控制器中的导入是

导入 java.io.FileNotFoundException;
导入 java.io.FileReader;
导入 java.io.IOException;
导入 java.util.ArrayList;
导入 org.apache.commons.lang.StringUtils;
导入 org.json.simple.JSONArray;
导入 org.json.simple.JSONObject;
导入 org.json.simple.parser.JSONParser;

他们是改变构建顺序的一种方式吗?那会解决吗?

4

9 回答 9

8

看起来你错过了在你的类路径中包含 json-simple-.jar 。包括相同的,它应该得到解决。

希望这可以帮助 !

于 2013-02-02T08:01:39.223 回答
7
  1. 在构建路径中添加json-simple-1.1.1.jar文件。在Eclipse上,右键单击项目->构建路径->配置构建路径-> java构建路径->添加外部jar->选择jar文件。

  2. 将构建路径条目添加到部署程序集中。在同一属性窗口中,选择“部署程序集”选项。然后添加“Java Build Path”条目。这应该会显示您刚刚在第一步中创建的构建路径条目。

于 2015-07-07T20:39:35.190 回答
0

您能否将这个 jar json-simple-1.1.1.jar 添加到您的类路径中并尝试一下?这个 jar 可以在http://code.google.com/p/json-simple/downloads/detail?name=json-simple-1.1.1.jar下载

于 2013-02-02T01:24:02.160 回答
0

我最终使用的解决方案是更改为 sourceforge.net json 解析器,进行了一些代码调整,我的 JUnit 测试仍然有效,并且 Tomcat 没有抱怨。这可能不是最好的解决方案,但它确实有效。

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
于 2013-02-14T10:36:58.293 回答
0

您缺少 jar 部署。

它与Tomcat7有关。需要导出一些 jar(忘记了哪些)其他 Web 服务器不需要,但 Tomcat。

于 2013-02-02T01:16:33.680 回答
0

我遇到了类似的错误,花了 3 4 个小时删除和添加新的 jar 文件。我的问题是我直接从下载位置添加了 jar 文件,即 ZIP 文件..!!! 添加正确提取的 jar 文件后,我的问题似乎得到了解决。希望这可以帮助某人.. !!

于 2017-12-22T11:17:46.213 回答
0

IF you are making an AI in Spring as I was when I had this error:

You also need to add the Jar to your AI "jlib" folder, for instance "...\AI\Skirmish\MyAI\0.1\jlib".

It's not enough to add it in Eclipse or Netbeans and build the project. Spring must have the jar too.

I know it is a late answer it but can help other people with the same error.

于 2018-05-22T22:36:36.827 回答
0

使用以下 java 库处理 JSONArray 和 JSONObject

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20200518</version>
</dependency>
于 2020-07-02T09:39:33.887 回答
0

只需在 pom.xml 中添加 JSON simple 的 maven 依赖项。无需配置任何类路径。

<dependency>
    <groupId>com.googlecode.json-simple</groupId>
    <artifactId>json-simple</artifactId>
    <version>1.1.1</version>
</dependency>
于 2021-08-17T13:18:28.013 回答