ant编译java源代码时报错:
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\Program Files\Java\jre6"
baidu了一下
原因:
电脑上有多个JDK版本,或者是JDK版本设置混乱的原因,或者JRE、JDK....
解决:
将jdk\lib中的tools.lib拷贝到jre\lib中即可(jre中没有这个jar)
具体原因希望知道的高人说一下,谢谢~
分享到:
相关推荐
org.apache.tools.ant.Main org.apache.tools.ant.Task org.apache.tools.bzip2.CRC org.apache.tools.ant.Target org.apache.tools.ant.Project org.apache.tools.zip.ZipFile org.apache.tools.zip.ZipLong ...
`com.sun.tools`通常与Java开发工具包(JDK)中的内部类和工具有关,例如Javadoc、javac编译器等。这些工具通常不在标准的Maven或Gradle仓库中提供,而是作为JDK的一部分直接包含在JRE或JDK安装目录的`lib`子目录下...
import org.apache.tools.ant.*; public class AntInvoker { public static void main(String[] args) { Project project = new Project(); project.init(); project.setUserProperty("ant.file", "path/to/...
例如,`<javac>`任务用于编译Java源代码,`<jar>`任务则用于创建JAR文件,这正是我们在压缩包中看到的`ant-1.6.5.jar`文件。 `ant-1.6.5.jar`是Ant 1.6.5的主库,包含了所有执行构建任务所需的类和资源。这个JAR...
《Ant Installer.jar.zip:构建自动化工具Ant的安装与使用详解》 在软件开发领域,自动化构建工具扮演着至关重要的角色,它们能够简化项目构建过程,提高开发效率。Ant,作为一个由Apache软件基金会开发的Java语言...
在实际使用中,Ant 1.5.jar可以通过Java的-classpath或-cp参数添加到JVM中,然后通过`java org.apache.tools.ant.Main`命令启动Ant。而构建过程则由`ant`命令触发,根据build.xml文件进行。 此外,Ant 1.5还支持...
3. **任务(Tasks)**:Ant的任务是执行具体操作,如`javac`用于编译Java源代码,`copy`用于复制文件,`jar`用于创建JAR包等。 4. **文件集(Filesets)**:文件集允许我们指定一组文件或目录,这些可以在任务中...
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${lib.dir}/ant-contrib.jar"/> ``` 这行代码引入了Ant Contrib库中的额外任务。 4. **目标定义**: 目标(Target)是一系列任务的...
- 确保使用的JDK版本与`tools-1.8.0.jar`匹配,否则可能导致运行时异常。 - 在Java 9及更高版本中,使用`--add-modules`或`--module-path`参数来访问`tools.jar`的功能,避免直接依赖`tools.jar`。 综上所述,`...
这个jar包通常包含了Java开发工具(JDK)的一些工具,例如`javac`编译器,可能还有其他如`jar`打包工具等。在JDK 9及以后的版本中,这些工具被移出核心JRE,单独成为一个模块`jdk.tools`。如果你的项目需要直接引用...
`com.sun.tools.javac.main.Main`类在这个过程中扮演了关键角色,它负责编译任务的整体调度。类型检查由`com.sun.tools.javac.code.Type`和`com.sun.tools.javac.code.Symbol`类协同完成,确保程序符合Java语言规范...
- **任务(Task)**:Ant中的基本执行单元,如`javac`用于编译Java源码,`jar`用于创建JAR文件等。 - **目标(Target)**:一系列相关任务的集合,通常按特定顺序执行。 - **属性(Property)**:用于存储和传递...
然而,随着Java版本的更新,特别是Java 9及以后的版本,Oracle开始逐步将`tools.jar`中的内容拆分到单独的模块中,因此在最新的JDK版本中,可能找不到`com.sun.tools.rar`这样的直接入口。 这个类库主要用于支持RAR...
Apache Ant 是一个广泛使用的构建工具,尤其在Java开发领域中占据着重要地位。它是一个基于XML的构建系统,允许开发者通过定义任务(tasks)来自动化软件构建过程,如编译、打包、测试和部署等。Ant的核心理念是...
javac 命令行支持多种选项,如 `-g` 用于添加调试信息,`-classpath` 定义类路径,`-source` 指定 Java 版本等,这些选项通过 `com.sun.tools.javac.main.Main` 类的 `compile` 方法处理。 深入研究 javac 源码...
3. **类型检查**:在 `com.sun.tools.javac.main.JavaCompiler` 类中,编译器会进行类型检查,确保所有的表达式和语句在类型上是正确的。这包括变量声明、方法调用、赋值操作等。 4. **类与接口解析**:编译器需要...
例如,如果你想要在代码中调用Java编译器进行动态编译,你可以导入`com.sun.tools.javac.Main`类并调用其`compile`方法。这对于自动化构建过程或者在运行时编译源代码非常有用。 接下来,我们来看"ant.jar"。Apache...
开发者可以自定义任务,或者使用Ant提供的内置任务,如`javac`用于编译Java源代码,`jar`用于创建JAR文件,`copy`用于复制文件,以及`delete`用于删除文件等。通过这种方式,Ant提供了高度的可扩展性和灵活性,使得...
Ant是Apache软件基金会的一个开放源代码项目,它是一款强大的构建工具,主要被Java开发者用于自动化构建、测试和部署Java项目。这个"ant-1.7.1.jar.zip"压缩包包含的是Ant 1.7.1版本的jar文件,它是Ant运行时的核心...
<taskdef name="apt" classname="com.sun.tools.apt.Main" classpath="path/to/ant-apt.jar"/> <javac srcdir="src/main/java" destdir="build/classes" includes="**/*.java"> <classpath> <!-- 添加必要的...