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的安装目录)/lib/tools.jar拷到TOMCAT_HOME(tomcat的安装目录)\common\lib下,重新启动Tomcat。
出现的原因及解决方法:
安装tomcat5.0的时候指定了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的安装根目录。
分享到:
相关推荐
### Linux 下 "Error running javac compiler" 解决方案详解 #### 问题背景 在 Linux 系统中,遇到“Error running javac compiler”的错误时,通常意味着 Java 编译器未能正常工作。这类问题可能源于多种因素,如...
标题 "plexus-compiler-javac-2.3.zip" 提到的是 Plexus 编译器的 Java 编译器组件的版本 2.3。Plexus 是一个开源的软件构建框架,它提供了一个灵活的组件化架构,用于创建、管理和运行 Maven 和其他构建工具。...
这个压缩包文件"plexus-compiler--2.8.4.jar.rar"包含了Plexus Compiler的三个关键模块,分别是plexus-compiler-api-2.8.4.jar、plexus-compiler-javac-2.8.4.jar和plexus-compiler-manager-2.8.4.jar,这些文件版本...
java运行依赖jar包
java运行依赖jar包
java jar包,亲测试可用 安全,可以对其进行数字签名,只让能够识别数字签名的用户使用里面的东西。 加快下载速度; 压缩,使文件变小,与ZIP压缩机制完全相同。 ...能够让JAR包里面的文件依赖于统一版本的类文件。...
java运行依赖jar包
Java 编译器 javac 是 Java 语言的核心组成部分,它将程序员编写的源代码(`.java` 文件)转换成可执行的字节码(`.class` 文件),使得 JVM(Java 虚拟机)能够运行这些程序。了解 javac 的源码对于深入理解 Java ...
Java编译器(javac)是Java开发工具包(JDK)的核心组件,它负责将编写好的Java源代码(.java文件)转换成Java字节码(.class文件),使得这些字节码可以在Java虚拟机(JVM)上运行。在深入理解javac源码的过程中,...
- Java编译器源码主要位于openjdk的`src/jdk.compiler/share/classes/com/sun/tools/javac`目录下,包括多个子模块,如parser(解析器)、main(主程序入口)、tree(抽象语法树)等。 - 源码中包含了处理类路径、...
3. **类型检查**:在 `com.sun.tools.javac.main.JavaCompiler` 类中,编译器会进行类型检查,确保所有的表达式和语句在类型上是正确的。这包括变量声明、方法调用、赋值操作等。 4. **类与接口解析**:编译器需要...
文档中提及了一个典型问题:在服务方式下启动Tomcat时遇到`Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath`的错误。这通常源于`JAVA_HOME`未被正确识别或服务配置中未引用。...
java运行依赖jar包
java运行依赖jar包
Java 编译器,javac,是 Java 语言的核心组成部分之一,它负责将开发者编写的源代码转换成可执行的字节码。深入理解javac的源代码对于Java程序员来说,不仅能帮助理解编译过程,还能提升编程技能和优化代码的能力。...
### javac的一些细节 #### 一、包与目录结构 **包的作用:** 包(`package`)在Java中主要用于组织类,使得类之间能够更好地进行分组与管理,同时也提供了一种访问控制机制。 **如何指定包路径:** 当你在Java...
java jar包,亲测试可用 安全,可以对其进行数字签名,只让能够识别数字签名的用户使用里面的东西。 加快下载速度; 压缩,使文件变小,与ZIP压缩机制完全相同。 ...能够让JAR包里面的文件依赖于统一版本的类文件。...
javac --module-path /path/to/modules:/path/to/your/project --add-modules module1,module2,... -d /path/to/classes MySourceFile.java ``` 在这个命令中,/path/to/modules是你存放模块的目录,module1,module...