Servlet.service() for servlet jsp threw exception org.apache.jasper.JasperException: Unable to comp

re: org.apache.jasper.JasperException: Unable to compile class for JSP

严重: Servlet.service() for servlet jsp threw exception 
org.apache.jasper.JasperException: Unable to compile class for JSP: 


Stacktrace: 
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85) 
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) 
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415) 
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:308) 
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286) 


我也遇到了这样的问题,这样的问题主要是由于你配置的环境变量的原因所造成的我们来看一下造成这种情况的主要原因:

很明显他说:org.apache.jasper.JasperException: Unable to compile class for JSP
意思是不他不能够完成类的编绎,造成他的的原因是我没有正确配置我的vm,在这里我提前说一下我的这个项目在手动启动Tomcat的statup.bat文件的时候是没有任何问题的,出现问题的原因是我用eclipse中的Tomcat启动时出现的,从这里就可以看出确实是我的vm设置的不正确所造成的,经过的查找我发现我在编绎这个项目的时候我用的vm是1.4的(从这里可以查看【Window】->【Preferences】->【Java】->【Compiler】->【JDK Compliance level】->1.4)而在启动eclipse中的tomcat的时候他让tomcat用的vm是eclipse自身带的vm我的eclipse是5.5.1的从这里可以看出他应该是用的1.5的vm(从这里可以查看windows -> preference ->AplicationServers-> tomcat -> JDK-> Tomcate JDK name )因此部题就水落石出了,我们只要么让这两个编绎器相同就可以了。

额外补充一点就是刚才我们费的那老半天的劲就是为了一个目的让他能够用的tools.jar这个工具,困为Tomcat在工作的时候就主要是用这个工具来进行编绎的,所以你如果不用eclipse来启动tomcat的话一定要让tomcat能够找到这个文件,也就是你要在你的环境变量中设置对让你的JAVA_HOME的路径正确。(tool.jar是在你的java的lib目录下的)


解决方式:复制项目,在myEclipse 中重新导入。就编译通过了。。。

具体原因 感觉貌似是上边的原因,但没有得到证实,我的编译JDK是5.0,tomcat用的是jdk1.6的。

想回过头证实下,结果再重新编译原来的项目的时候打开页面居然好使不抱错了。。。好吧。。。记录下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值