JDK6を使用して動的コンパイルSRCを使用しますが、JDK環境に切り替えた後、ToolProvider.getSystemJavacompiler()からNULLを取得します。

StackOverflow https://stackoverflow.com/questions/5907451

  •  29-10-2019
  •  | 
  •  

質問

JDK6を使用して、UIから入力SRCをコンパイルし、すぐに実行しています。

しかし、問題は、デフォルトで私のアプリがJREではなくJREを使用していることです。

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

常にnullを返します。

そして、各サーバーにJDK6もインストールされていることに気付いたので、この問題を解決することを期待するためにこれを書きます。

System.setProperty("java.home", "\opt\jdk-i386-60");
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
// Dynamic compile and run app

しかし、それはうまくいきませんでした、おそらくJava環境は私がすぐに設定したばかりの場所に変わらないかもしれません、それはまだnullオブジェクトを持っています。

それで、私の質問は、JRE環境をJDKに切り替えて、Javacompilerオブジェクトを取得できるように即座に影響を与える方法です。

ありがとう。

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top