JAVA_HOME does not point to the JDK

安装tomcat的时候指定了jre的路径,导致tomcat_home, java_home都已经添加到了环境变量里,但启动jsp的时候却出现了以下的异常:
Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK

产生的原因是java.home指到$JAVA_HOME/jre下了,而其lib下的tools.jar跟$JAVA_HOME/lib/tools.jar不一样,编译jsp的时候需要用到后者.

注: java.home在运行的时候就会指向$JRE_HOME.
jdk 1.4.2_06-b03
jdk 1.5.0_05-b05
都会出现这种情况.

修改方法:在tomcat控制台(双击tomcate5w.exe)java选项-〉java virtual machine
设置为%java_home%\jre\bin\server\jvm.dll
tomcat控制台java选项-〉Java classpath:
%tomcat_home%\bin\bootstrap.jar;%java_home%\lib\tools.jar
注:%java_home%、%tomcat_home分别指jdk、tomcat的安装根目录

 

后来上网找到了解决方案:只要把JAVA_HOME/lib/tools.jar拷到TOMCAT_HOME\common\lib下,重启动Tomcat,就可以了,这个问题郁闷了好久,终于解决了,一定要记下来