3

重複の可能性:
Java 5 および Java 6 用のオンザフライのメモリ内 Java コード
コンパイル Java ファイル内のコードを使用した Java ファイルのコンパイル

以下の例に示すように、プログラムの文字列で使用できる hello world クラスがあります。

public class CompileJavaString {   
  public static void main(String arg[]) {
     String s="public class HelloWorld{ public static void main(String arg[]) ";
     s=s+" { System.out.println(\"Hello World\"); }  } ";
     // this is the complete code of Hello World class taken as an example   

     // code to compile the class Hello World available in string and 
     // generate the HelloWorld.class file required here
  }  

}

上記の例で利用可能なメモリ文字列でコードをコンパイルするのを手伝ってくれる人はいますか

4

2 に答える 2

1

javax.tools.JavaCompiler関連するクラスを見てみたいと思います。ドキュメントには、それらの使用方法の例が含まれています。

Java コンパイラは、JDK がインストールされている場合にのみ機能することに注意してください。JRE だけでは不十分です。

于 2013-02-03T13:05:11.503 に答える
0

HelloWorld.java として保存し、次の操作を行います。

  String fileToCompile = "HelloWorld.java";
  JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
  int compilationResult = compiler.run(null, null, null, fileToCompile);
    if(compilationResult == 0){
        System.out.println("Compilation is successful");
    }else{
        System.out.println("Compilation Failed");
    }

編集

詳細な例を見ることができます:

http://www.java2s.com/Code/Java/JDK-6/CompilingfromMemory.htm

于 2013-02-03T13:07:04.400 に答える