0

私はコンパイラ API (javax.tools.JavaCompiler) から Java バイトコードを動的に生成するツールを使用しています。ソース コードをビルドし、API を使用してコンパイルし、リフレクションを介して使用します。

生成された非公開クラスのみを試す限り、それはまったく問題ありません。もしそうなら、私は「クラス MyClass は public です。MyClass.java という名前のファイルで宣言する必要があります」というメッセージを取得します。これは完全に正常であり、Java ファイルからコンパイルされたものではありません。

このエラーを回避する方法を探していますが、Java オプションにも API にも見つかりません。

4

1 に答える 1

1

この記事を確認してください:文字列からクラスを作成する

「string:///」を使用している場合、この問題を解決します。

これはここで説明されているようにhttp://www.javablogging.com/dynamic-in-memory-compilation/

于 2013-07-07T16:33:53.930 に答える