在Linux下,JAVA_HOME指向JRE时,tomcat启动后有一个项目报org.apache.jasper.JasperException: java.err.nojdk,其他项目可以启动,其实将JAVA_HOME指向JDK时是可以启动的,但运行环境是JRE不能随便更改,请问是项目中某个lib需要JDK才能运行还是一些其他什么问题?具体错误消息:
org.apache.jasper.JasperException: java.err.nojdk
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:89)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:375)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
org.apache.jasper.compiler.Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java:198)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:364)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:433)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:608)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:476)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:366)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
项目里有jsp文件吧,jsp编译的时候需要使用jdk的###### jre只是运行时环境
jdk才是项目真正需要的环境。
如果你的jre都可以跑项目, 那用jdk一定可以跑, 可以直接将java_home指向jdk。
如果你有各种担心的话也可以在报错项目对应的tomcat启动脚本里面单独指定java_home,
export JAVA_HOME = /xx/xxxx/xxxxx
export CLASSPATH=/xx/xx/xxxxx
export PATH = /xxx/xxxx/xxxx:%PATH ######正解,把JAVA_HOME JRE_HOME 环境变量设置到CLASSPATH中###### 你这种错误,一般都是模板编译出问题了,JRE是不等价与JDK环境的,主要区别就在于JDK环境有一些编译工具。一般来说,服务器只需要装了JRE就可以运行tomcat了,但也有例外。
比如,HTTL 这个模板引擎,需要调用javac来编译模板为class文件,所以必须有JDK才能运行。如果没有JDK环境,也可以用JRE环境+javassist.jar 这个工具来代替javac编译模板为class文件。
不少编译型的模板引擎都是这样的。JSP编译是否需要JDK,我也不太确定。
如果你的环境确实不方便更改,可以在lib目录下加上javassist.jar试试。 ###### 用的是哪个版本的tomcat啊?
起码从tomcat 5.5开始,就带有ecj-*.jar,里面带的就是eclipse的JDT编译器了。按道理,带有ecj的tomcat发布版,应该有可以在JRE中支持jsp等需要编译的webapp了。
请把环境再说明清楚一些? ######7.0.27
你这种错误,一般都是模板编译出问题了,JRE是不等价与JDK环境的,主要区别就在于JDK环境有一些编译工具。一般来说,服务器只需要装了JRE就可以运行tomcat了,但也有例外。
比如,HTTL 这个模板引擎,需要调用javac来编译模板为class文件,所以必须有JDK才能运行。如果没有JDK环境,也可以用JRE环境+javassist.jar 这个工具来代替javac编译模板为class文件。
不少编译型的模板引擎都是这样的。JSP编译是否需要JDK,我也不太确定。
如果你的环境确实不方便更改,可以在lib目录下加上javassist.jar试试。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。