gpt4 book ai didi

java - 无法为 JSP 编译类。 Tomcat 7.0.82

转载 作者:行者123 更新时间:2023-11-28 22:25:16 25 4
gpt4 key购买 nike

我已经从 Eclipse 中的 Java Web 项目创建了一个 war 文件。它非常正确地在 WEB-INF 目录中创建了一个 classeslib 文件夹,其中包含已编译的源代码和引用的库。当我在 Apache Tomcat 7.0.82 上部署这个项目时,它在大多数页面上运行良好,除了 Main2.jsp 出现以下异常

type Exception report

message Unable to compile class for JSP

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:675) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:364) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Main.jsp代码如下

<%@page import="assemble_xml.*"%>
<%@page import="java.io.*"%>
<%@page import="java.util.*"%>
<%@page import="org.json.JSONObject"%>
<%@page import="org.json.*;"%>
<%
System.out.println("\n*** Inside Main2.jsp");
String data1 = request.getParameter("data");
String sourceApiId = request.getParameter("sourceApiId");
String bpFile = request.getParameter("bpFile");
String context = getServletContext().getRealPath("/");
//data1 = "{000:{name:mkyong.com,messages:[msg 1,msg 2,msg 3],age:100},001:{name:mkyong.com,messages:[msg 1,msg 2,msg 3],age:100}}";
JSONObject jsonObject = new JSONObject(data1);

System.out.println("\n*** Inside Main2.jsp: jsonObject" + data1);

Operation op1 = new Operation ("");

HashMap<String, Operation> hm_xml_att = op1.readOpAttribFromXML2(context+bpFile, jsonObject);
op1.writeXML(hm_xml_att,context + "auth_refine_output" + File.separatorChar + sourceApiId);

//BP bp = new BP(context,context + "\\auth_refine_output\\Mappings.txt",context + "\\auth_refine_output\\" + sourceApiId,context + "\\auth_refine_output\\OFBiz_Process.xml");

//response.setContentType("text/html");
//response.getWriter().write("Dataflow file (" +context + "\\auth_refine_output\\OFBiz_Process.xml) generated successfully");
//System.out.println("\n*** Inside Main2.jsp: Dataflow file (" +context + "\\auth_refine_output\\OFBiz_Process.xml" + ") generated successfully");
%>

我很确定问题是由于以下两个导入造成的

<%@page import="org.json.JSONObject"%>
<%@page import="org.json.*;"%>

因为,当我删除它们时,错误仍然存​​在,但现在是由于未将 JsonObject 解析为类型。具有讽刺意味的是,我在 WEB-INF\lib 文件夹中有超过三个文件似乎包含 JsonOject。这些文件是 json-20090211.jarjson-20160810.jarjson-lib-2.4-jdk15.jar

这三个文件也存在于 eclipse 项目中,但它在 eclipse 中运行完美。我不是这个项目的作者,也不是 Java 专家。所以,我想知道为什么我们只为 JSON 包含三个文件作为 dep?以及为什么它在 eclipse 中工作正常但在 Apache Tomcat 7 中却不行?

最佳答案

上次导入中的分号是问题所在。从

更改行
<%@page import="org.json.*;"%>

<%@page import="org.json.*"%>

解决了问题

关于java - 无法为 JSP 编译类。 Tomcat 7.0.82,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47933006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com