好象就是这句话:
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 指向JDK;

解决方案 »

  1.   

    1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.4.2): 
    JAVA_HOME=c:\j2sdk1.4.2 
    classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径) 
    path=%JAVA_HOME%\bin 
    接着可以写一个简单的java程序来测试J2SDK是否已安装成功: 
    public class Test{ 
    public static void main(String args[]){ 
    System.out.println("This is a test program."); 


    将上面的这段程序保存为文件名为Test.java的文件。 
    然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令  
    javac Test.java 
    java Test  
    此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。 
    第四步:配置tomcat使之支持jsp
    2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat): 
    CATALINA_HOME=c:\tomcat; 
    CATALINA_BASE=c:\tomcat; 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如下: 
    classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar; 
    接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。 
      

  2.   

    检查一下系统环境变量中的java_home和tomcat_home是否配置正确了
      

  3.   

    环境变量配了吗?
    我的电脑点右键--〉属性--〉高级---〉环境变量
    在系统变量内新建2项,
    名字:classpath
    值:c:\jdk1.4\lib\tools.jar;c:=jdk1.4\lib\dt.jar;
    名字:java_home
    值:c:\jdk1.4
      

  4.   

    谢谢大家,我的信箱[email protected]
      

  5.   

    在cmd窗口中使用
    set JAVA_HOME=c:\j2sdk\bin;
    set path=%path%;c:\j2sdk\bin;.
      

  6.   

    还是问题,我在cmd中可以直接编译servlet,用javac filename.java。 但是在tomcat还是不能把java文件编译出来,java_home中我设置为jdk的路径在加上classpath中的所有路经。还是不行。郁闷!等待高手!
      

  7.   

    JAVA_HOME因该指向jdk中的lib还是bin啊。com.sun.tools.javac.Main is not on the classpath.
    com.sun.tools.javac.Main 是个什么东西啊?
      

  8.   

    指向jdk
    你是运行servlet 还是jsp 
    可能代码有问题
      

  9.   

    我把jsp生成的servlet代码,拿出来运行可以通过,但tomcat不能自动编译。不知道是找不到编译器,还是类库。
      

  10.   

    我也有你的问题
    提示
    org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 12 in the jsp file: /test.jspGenerated servlet error:
        [javac] Compiling 1 source fileD:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:41: cannot resolve symbol
    symbol  : class counter 
    location: class org.apache.jsp.test_jsp
          counter counter = null;
          ^An error occurred at line: 12 in the jsp file: /test.jspGenerated servlet error:
    D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:43: cannot resolve symbol
    symbol  : class counter 
    location: class org.apache.jsp.test_jsp
            counter = (counter) pageContext.getAttribute("counter", PageContext.REQUEST_SCOPE);
                       ^An error occurred at line: 12 in the jsp file: /test.jspGenerated servlet error:
    D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:45: cannot resolve symbol
    symbol  : class counter 
    location: class org.apache.jsp.test_jsp
              counter = new counter();
                            ^
    3 errors
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:127)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:351)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:415)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:458)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    我做的是一个计数器
      

  11.   

    我这里也是一样,有这个问题
    楼上的也许你的jsp是有错误的。
    但是我的是struts的例子怎么会有错呢?
    com.sun.tools.javac.Main 在哪儿找到??
      

  12.   

    问题已经解决,谢谢大家了。jvm.dll应该放在jdk底下