`

sun.tools.javac.Main javac

    博客分类:
  • java
 
阅读更多
public static void compile(String name)
    throws CompileException
  {
    ByteArrayOutputStream outpouter = new ByteArrayOutputStream();
    boolean ret = false;
    try {
      String javaFile = Constants.JAVA_PATH + name + ".java";

      sun.tools.javac.Main javac = new sun.tools.javac.Main(outpouter, "javac");
      ret = javac.compile(new String[] { "-d", Constants.JAVA_PATH, "-classpath", getPreclasspath(), javaFile });
    }
    catch (Exception e)
    {
      throw new CompileException(e, e.getLocalizedMessage());
    }
分享到:
评论

相关推荐

    javac源码免费下载

    `com.sun.tools.javac.main.Main`类在这个过程中扮演了关键角色,它负责编译任务的整体调度。类型检查由`com.sun.tools.javac.code.Type`和`com.sun.tools.javac.code.Symbol`类协同完成,确保程序符合Java语言规范...

    Javac内核源码

    3. **类型检查**:在 `com.sun.tools.javac.main.JavaCompiler` 类中,编译器会进行类型检查,确保所有的表达式和语句在类型上是正确的。这包括变量声明、方法调用、赋值操作等。 4. **类与接口解析**:编译器需要...

    javac-source-code-reading:javac源码调试-java source code

    这个过程中涉及的类主要包括 `com.sun.tools.javac.main.Main`,它是 javac 的主入口点,以及 `com.sun.tools.javac.parser.JavacParser`,负责解析源代码。 在阅读和调试 javac 源码时,有几点需要注意: 1. **...

    tools-1.8.0.jar.zip

    javac --add-modules=javafx.base,javafx.graphics --module-source-path src/main/java -d build/classes src/main/java/YourFile.java ``` 3. **避免直接依赖**: 尽可能避免直接依赖`tools.jar`,因为它不是跨...

    javac 源码 javac 源码

    javac 命令行支持多种选项,如 `-g` 用于添加调试信息,`-classpath` 定义类路径,`-source` 指定 Java 版本等,这些选项通过 `com.sun.tools.javac.main.Main` 类的 `compile` 方法处理。 深入研究 javac 源码...

    java编译器源代码

    源代码中包含多个模块,如`com.sun.tools.javac.main`,`com.sun.tools.javac.parser`,`com.sun.tools.javac.code`等,分别对应不同的编译阶段。 2. **词法分析**: 这是编译的第一步,由`...

    srcjavc源码学习.zip

    - `com.sun.tools.javac.Main`:这是`javac`命令的主入口点,负责启动编译过程。 - `com.sun.tools.javac.parser`:包含词法和语法分析的相关实现。 - `com.sun.tools.javac.tree`:存储抽象语法树的相关类。 - `...

    tools and ant jar

    例如,如果你想要在代码中调用Java编译器进行动态编译,你可以导入`com.sun.tools.javac.Main`类并调用其`compile`方法。这对于自动化构建过程或者在运行时编译源代码非常有用。 接下来,我们来看"ant.jar"。Apache...

    用poi将Excel数据导入数据库/java tools.jar动态类的生成

    最后,通过`com.sun.tools.javac.Main.compile()`方法编译源代码,如果成功,使用`Class.forName()`加载生成的类,然后实例化并调用其方法。 至于扩展部分,可能的方向包括优化数据读取和导入性能,例如通过多线程...

    JDK中rt.jar、tools.jar和dt.jar作用.pdf

    这些类主要位于`sun.tools.java.*`和`sun.tools.javac.*`包下,例如javac编译器就依赖于tools.jar。当我们执行`javac`命令编译Java源代码时,实际上是通过Java虚拟机执行了`java -classpath %JAVA_HOME%\lib\tools....

    基于SNT的科学计算器

    这个计算器全部用的是java类库提供的方法,并采用动态编译技术com.sun.tools.javac.Main。用户所有的输入都由计算器本身提供的按钮来实现,计算器本身不对用户输入是否合法进行检测,只是在进行动态编译不能通过时...

    compilador.pdf

    Java 1.4引入了`com.sun.tools.javac.Main`类,该类提供了静态方法`compile`用于编译Java源代码。以下是一个简单的示例: ```java import com.sun.tools.javac.Main; public class RealTimeCompiler { public ...

    Java-Compiler:Java编译器源码阅读

    这些优化可能在`com.sun.tools.javac.main.Main.compile()`方法中体现。 阅读Java编译器源码有助于理解语言的底层工作原理,这对于优化代码、编写自定义编译器插件或者深入学习Java虚拟机都有极大帮助。源码提供了...

    javac源码和运行说明文件.zip

    - Java编译器源码主要位于openjdk的`src/jdk.compiler/share/classes/com/sun/tools/javac`目录下,包括多个子模块,如parser(解析器)、main(主程序入口)、tree(抽象语法树)等。 - 源码中包含了处理类路径、...

    ant编译时抛出OutOfMemoryError.doc

    当Ant在执行`javac`时,它会调用JDK的`javac`编译器,这实际上是在 `%JAVA_HOME%\lib\tools.jar` 包内的 `com.sun.tools.javac.main.Main` 类中实现的。当内存不足时,不论是Ant本身还是单独的`javac`进程,都会抛出...

    tomcat的安装与配置及问题解决

    当遇到错误“找不到或无法加载主类 com.sun.tools.javac.Main”时,通常是因为JDK和JRE安装在同一文件夹下,导致JRE覆盖了JDK中的某些文件(特别是`jre`目录)。解决方法如下: 1. **重新安装JRE**: - 如果希望将...

    Hadoop:第一次Hadoop分配

    hadoop com.sun.tools.javac.Main AreaBalance.java jar cf wc.jar AreaBalance*.class hadoop jar wc.jar AreaBalance /res/mapred_assignment output/areabalance hadoop fs -cat output/areabalance/part-r-...

    java反射机制测试代码

    `javax.tools.JavaCompiler`和`com.sun.tools.javac.api.JavacTask`是进行动态编译的关键类。以下是一个简单的例子: ```java import javax.tools.*; import java.io.File; import java.util.Arrays; public class...

    java的工具api

    通过调用`com.sun.tools.javac.Main`类的静态方法,开发者可以在程序中实现编译功能,这对于自动化构建流程尤其有用。例如,可以创建一个自定义的构建工具,集成到持续集成系统中,以确保代码的质量和一致性。 其次...

    BarycentricCluster

    编译: $ hadoop com.sun.tools.javac.Main BC.java 这将产生几个.class文件。 将它们打包到一个名为bc.jar的.jar文件中: $ jar cf bc.jar BC * .class 要运行.jar文件,请执行以下操作: $ hadoop jar bc.jar BC ...

Global site tag (gtag.js) - Google Analytics