多语言展示
当前在线:1603今日阅读:58今日分享:42

如何处理PWC6199: Generated servlet error异常

在我们日常开发,运行程序的过程中经常出现PWC61编译异常,小编将自己日常经常遇见该种类问题的解决方案分析下给大家O(∩_∩)O~~
工具/原料
1

开发工具

2

Internet

方法/步骤
1

常见问题1:PWC1412: WebModule[null] ServletContext.log():PWC6033: Error in Javac compilation for JSPPWC6199: Generated servlet error:string:///testedu_jsp.java:16116: try 语句的代码过长PWC6199: Generated servlet error:string:///testedu_jsp.java:58: try 语句的代码过长PWC6199: Generated servlet error:string:///testedu_jsp.java:46: 代码过长问题分析:该现象一般是jsp页面代码过多,导致jsp编译后生成的Java类文件的大小过大,Java类文件不允许超过65k ,以上报错的原因为Java类文件的大小超过了65k 有500k的大小解决方法:在应用服务器里配置相关参数解除限制:tommcat配置文件:conf目录下,web.xmlglassfish配置文件:config目录下,default-web.xml添加参数:       mappedfile      false    需要注意的是在JSP页面代码过大的时候尝试拆分JSP文件,使用引用jsp而不是< %@include file='test.jsp' % >

2

常见问题2:PWC1412: WebModule[null] ServletContext.log():PWC6033: Error in Javac compilation for JSPPWC6197: An error occurred at line: 13 in the jsp file: /tian/test/nt/sunt.jspPWC6199: Generated servlet error:string:///Ktuiyio_jsp.java:263: 找不到符号符号: 类 Map位置: 类 org.apache.jsp.hel.tian.mumu.ct.Ktuiyio_jsp问题分析:分析为jsp页面没有添加引用Map类的代码导致。解决方法:在页面引入Map类<%@ page import='java.util.Map'%>

3

常见问题3:PWC1412: WebModule[null] ServletContext.log():PWC6033: Error in Javac compilationfor JSPPWC6197: An error occurred at line: 30 in the jsp file: //mite/misfit/testwahaha.jspPWC6199: Generated servlet error:string:///testwahaha_jsp.java:208: 未结束的字符串字面值PWC6197: An error occurred at line: 30 in the jsp file: /mite/misfit/testwahaha.jspPWC6199: Generated servlet error:string:///testwahaha_jsp.java:297: 未结束的字符串字面值PWC6197: An error occurred at line: 30 in the jsp file: /mite/misfit/testwahaha.jspPWC6199: Generated servlet error:string:///testwahaha_jsp.java:297: 需要 ')'PWC6197: An error occurred at line: 30 in the jsp file: /mite/misfit/testwahaha.jsp问题分析:经分析查看编译生成后的Java类文件testwahaha_jsp.java:第297行有中文乱码生成,得出为乱码导致编译异常解决方法:修改JSP页面,导致乱码的代码片段

4

常见问题4:PWC1406: Servlet.service() for servlet action threw exceptionorg.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSPPWC6199: Generated servlet error:string:///lantian_jsp.java:2578: 找不到符号符号: 变量 fita位置: 类 org.apache.jsp.ll.twmer.test.lantian_jsp        at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:129)        at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:299)        at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:392)        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:453)        at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:625)        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)问题分析:通过排查lantian_jsp文件发现页面里定义了两个同名的变量fita对应页面相关代码是:但是作用在不同的域里,同时生成的编译后的Java文件里的fita的第二个变量的值为空了,在不同的应用服务器下编译的结果不同,和应用服务器的编译解析机制有关,weblogic正常,其他web应用服务器好像都有该现象解决方法:jsp页面不要定义相同的变量名称fita

推荐信息