解决访问Jetty页面中JSP时的java.err.nojdk

       今天在尝试使用jetty7+cometd+spring的archetype建立工程时,无法按照reference预期的出现正常的访问结果,出现了org.apache.jasper.JasperException: java.err.nojdk。

org.apache.jasper.JasperException: java.err.nojdk
	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:89)
	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:375)
	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
	at org.apache.jasper.compiler.Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java:198)
	at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:364)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:433)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:608)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:476)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:366)

 

       这个看起来应该是在解析JSP的时候遇到了没有JDK的问题,上网查了查,大多数人只是说不要只用jre,要用jdk,蛋碎,似乎是个bug,不过还好可以通过下面的参数解决。、

        如果使用的是自己的jetty服务器,而不是maven的jetty plugin,就在Jetty下的start.ini中增加配置

 

org.apache.jasper.compiler.disablejsr199=true 

 

        如果使用的是maven的plugin,就修改jetty的plugin configuration如下

<plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>7.6.8.v20121106</version>
    <configuration>
     <scanIntervalSeconds>10</scanIntervalSeconds>
     <systemProperties>
      <systemProperty>
       <name>org.apache.jasper.compiler.disablejsr199</name>
       <value>true</value>
      </systemProperty>
     </systemProperties>
     <webAppConfig>
      <contextPath>/vem</contextPath>
     </webAppConfig>
    </configuration>
</plugin>

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值