2016-04-29 3 views
0

ビルド時に、宣言された依存関係から.classファイルを動的に生成する非常に特殊なプラグイン(jsweet-maven-plugin)があります。ビルドパス、maven、IDE(オートコンプリート)のためにこれらの.classファイルが必要です。ハンドルビルド時に生成された.classファイルをハンドルします。

mavenで正しく処理する方法はありますか?

私が思いつくのは、jarファイルに.classをパッケージ化した専用のmavenモジュールを作成し、それを他のプロジェクトに依存するものとして追加することでした。そうすれば、それらの.classがビルドパスに適切に追加されます。

しかし、この方法は、IDEがコンピュータに存在するプロジェクトとして依存関係を認識するため、netbeans IDEで失敗します。 .classを逆コンパイルするのではなく、関連するプロジェクトのソースを探して、ソースがないので失敗します。プロジェクトのバージョンを変更するまで、そしてIDEはもはやソースに依存しません。

私はgenerate-sourcesと同じように動作するgenerated-classesフォルダーが好きですが、クラスファイルの方がいいです...方法を知っているmaven-guruはいますか?


編集1:ビルド時に生成されたファイルは、Javaソースコードではなく、すでにコンパイルされたファイル(.classファイル拡張子):バイトコード。

答えて

0

アプローチのカップルがあります:

  1. は、一度、あなたのクラスを生成し、あなたのsrc /メイン/ javaのツリーに生成された.javaファイルをコピーし、ポンポンで自動生成のものをコメントアウト。 xml。これは、生成されたクラスにbehavioralメソッドとtoString()メソッドを追加できるという利点があり、IDEオートコンプリートはうれしいです。欠点は、もう一度生成する必要がある場合です。すると、合併することがかなり容易になります。
  2. 実行したとおりに別のライブラリを作成します。 Mavenリポジトリにライブラリをインストールし、Javaソースもアップロードされていることを確認してください。 IDEでプロジェクトを閉じます。 (これはEclipseで動作します - Netbeansも同様に動作すると思います)。

私は両方を試して、常にオプション1に戻ってきました。しかし、私は通常、WSDLからJAXWSクラスを生成しています。あなたの正確な要件は私には馴染みがないので、運が良かった!

+0

あなたの答えをありがとう。 私はすでにWSDLから生成されたクライアントのように、適切に生成されたソースを処理する方法を知っています。 しかし、ここでの問題は、これが生成されるJavaソースコードではなく、.classファイル(バイトコード)であることです。 –

関連する問題