質問

必要なJavaソースコードを生成してそのモデルを生成する「Tojavacode()」を自分のモデルに作成したい(理由を気にしないでください、または行うべきではない場合、または互換性の問題が発生する可能性がある場合)。

私はこれをテストする方法に迷っています。私はMavenを使用していますが、私のサーバーは適切なバルクテストのためにアップする必要があるため、生成されたソースは実際には機能しません。 「テスト」の目標中にサーバーを上げますが、生成ソースは早すぎます。

一方、組み込みのコンパイラ(JDKのTools.jarから)を使用してこれを行うことができますが、テスト(またはその瓶をロードする)のために瓶に詰める方法がわかりません。

何か案は?

役に立ちましたか?

解決

使用できます Javacompiler API ソースファイルをコンパイルしてセットアップするには クラスローダー テストにコンパイルされたクラスをロードする(サンプルコード)。 tools.jarはクラスパスにいる必要があります。これは、JDKを使用する場合です。

生成されたコードが特定のクラスに安定している場合は、使用できます 注釈プロセッサ ソースコードを生成し、注釈付きクラスと同じJavac実行でコンパイルします。

他のヒント

ANTタスクをMavenに追加できます。それは、Mavenビルド中の「古典的な注文外」への方法です。 Mavensのテスト目標などにJavac Antタスクを追加するようなものです。

(申し訳ありませんが、私はあなたのコメンターのマットBと同じくらい混乱しています - しかし、埋め込まれたアリのタスクはあなたのスイスアーミーナイフです。)

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