Ant 编译时 Unable to find a javac compiler的解决(转) ,果断选择了MyEcplise

解决方法是在一个外国人的blog上看来的,记到我的博客方便大家搜索,呵呵。

该作者解释原因是Ant不能和JRE一起使用,而需要使用JDK来作为Runtime JRE, 但是这个原因似乎也不是真正的原因,只是这个方法可以解决问题,解决方法如下:

打开菜单:Run--External Tool--External Tools...

在右边打开JRE页,在Separate JRE:中选择JDK,如果没有这个选项的话,单击在旁边的Installed JREs...---单击Add---增加一个JDK项

具体方法为:
输入JRE name:(随意)JDK
找到JDK的安装路径,输入到JRE home directory
完成退出

回到External Tools...的JRE页,确定退出

至此我的问题就解决了,但是写这篇文章的时候,我发现就算现在把Runtime JRE改回到JRE似乎也不会有问题了,因此个人认为可能是Ecplise的一个Bug,在第一次使用Ant之前可能需要手动指定一次Runtime JRE,把JRE改成JDK只是正好完成了这个步骤而已,个人瞎想,不要拍砖,呵呵

 

================================================================================================================================

 

 

Unable to find a javac compiler;Perhaps 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的安装根目录

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/lib/tools.jar拷到TOMCAT_HOME\common\lib下,重启动Tomcat,OK

你可能感兴趣的:(java,异常)