我应该如何添加JAR库在Eclipse中一个WAR项目没有遇到java.lang.ClassNotFoundException或java.lang.NoClassDefFoundError?
在CLASSPATH环境变量似乎并没有工作.在某些情况下,我们将JAR文件添加到Eclipse项目的Build Path属性中以使代码编译.我们有时需要将JAR文件放在/WEB-INF/libJava EE Web应用程序的文件夹中,以使代码在该JAR内的类上运行.
我不完全理解为什么CLASSPATH不起作用,在哪些情况下我们应该将JAR添加到Build Path以及何时应该放置这些JAR /WEB-INF/lib.
我有一个简单的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;
他们是一种改变构建顺序的方法,并且会修复它吗?
我正在尝试开发一个servlet来发送一些JSON对象,但我得到了几个例外.我相信我需要添加一些jar文件,但我不确定哪个.这是doGet方法以及我导入的所有内容:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONException;
import org.json.JSONObject;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
JSONObject obj = new JSONObject();
try {
obj.put("name", "jad");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
out.println(obj.toString());
}
Run Code Online (Sandbox Code Playgroud)
这是我的控制台:
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/CarpoolServer]]
at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) …Run Code Online (Sandbox Code Playgroud)