当我尝试通过Tomcat打开我的JSP时,我收到以下消息:
类型org.json.simple.JSONObject无法解析。它是从必需的.class文件间接引用的。
类型Ejercicio中的方法getJSONObject()引用了缺失的类型JSONObject。
我有一个Java类,像这样:
package E;
import org.json.simple.*;
import javax.json.*;
import org.json.*;
public class Ejercicio {
public int a;
public String b;
public Ejercicio (int a, String b) {
this.a=a;
this.b=b;
}
public JSONObject getJSONObject() {
JSONObject obj = new JSONObject();
obj.put("a", a);
obj.put("b", b);
return obj;
}
}
我的JSP如下:
<%@page import="java.io.*" %>
<%@page import="java.util.*"%>
<%@page import="E.Ejercicio"%>
<%@page import="javax.json.*"%>
<%@page import="org.json.simple.*"%>
<%@page import="org.json.*"%>
<%@page import="net.sf.json.*" %>
<%
ArrayList<Ejercicio> miArray = new ArrayList<Ejercicio>();
miArray.add(new Ejercicio (1,"Hola"));
miArray.add(new Ejercicio (2,"Caracola"));
miArray.add(new Ejercicio (3,"Perola"));
for (Ejercicio temp:miArray) {
out.println("<p>"+temp.b+"</p>");
}
JSONArray jsonArray = new JSONArray();
for (int i=0; i < miArray.size(); i++) {
jsonArray.put(miArray.get(i).getJSONObject());
}
%>
我已经将许多文件夹添加到WEB-INF内的lib文件夹和Tomcat lib中,尝试解决问题,但没有结果(commons-beanutils-1.8.1、commons-collections-3.2.1、commons-lang-2.5、commons-logging-1.1.1、ezmorph-1.0.6、java-json、javax.json-1.0、json-lib-2.4-jdk15、json-rpc-1.0、json-simple-1.1.1-sources、org.json)。
当我编译Java类时,出现了“某些输入文件使用了未经检查或不安全的操作”的消息。这可能与jps没有编译有关吗?
json-simple-1.1.1
并再次使用以下语句编译了类:javac -cp .;"C:\Program Files\apache-tomcat-8.5.13\webapps\Heroismo\WEB-INF\lib\*" Ejercicio.java
,但是当尝试打开jsp文件时仍然遇到相同的错误。我不懂Maven。 - Erik Escriche