0

問題のコードのセクションは次のとおりです。

String fileToCompile = "C:/Users/Jeff/Documents/Test/Compiler 6/examplejavafile.java";//Absolute path
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
FileOutputStream errorStream = new FileOutputStream("Errors.txt");
int compilationResult = compiler.run(null, null, errorStream, "-verbose", fileToCompile);
if(compilationResult == 0){
    System.out.println("Compilation is successful");
}else{
    System.out.println("Compilation Failed");
}

このコード セクションを実行すると、次の NPE が表示されます。

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

これは環境のエラーだと言われましたが、JDK がインストールされていて、CLASSPATH 変数が「C:\Program Files\Java\jdk1.7.0_04\bin」に設定されています。私は初心者であり、JRE の代わりに JDK を介してプログラムを実行する方法を理解していないかもしれませんが、それでも助けが必要です。(また、何か違う場合は、Eclipseを使用しています。)

4

3 に答える 3

0

ToolProvider.getSystemJavaCompiler() は使用できません。

tools.jar がクラスパスにありませんか?

Set class path to the tools.jarjdk\jre ディレクトリにあるファイル。

System.setProperty("java.home", "C:\\Program Files\\Java\\jdk1.7.0_02");

于 2013-10-07T20:20:48.287 に答える
0

プロジェクトの実行構成を検索します ([実行] メニューの下)。JRE の下では、プロジェクトの実行環境が「JavaSE-1.6」(jsk1.6.20_32) などを使用していることを指定する必要があります。

于 2012-06-05T23:58:23.297 に答える
-1

ToolProviderは定義されていないため、その情報を含めなかった場合を除き、インポートする必要があります。

import javax.tools.ToolProvider;
于 2012-06-05T23:42:12.570 に答える