問題タブ [maven-compiler-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
175 参照

maven - maven-release-plugin も maven-compiler-plugin と同じことをしますか?

プロジェクトpom.xmlには、maven-release-pluginとmaven-compiler-pluginの両方を含める必要がありますか? リリース プラグインが必要な理由は、スプリント/リリースの最後にプロジェクトをリリースしたいからです。コンパイラ プラグインがソース コードをコンパイルすることは理解していますが、pom の更新と scm へのチェックアウト/チェックインを除いて、リリース プラグインもソース コードをコンパイルするかどうかはわかりません。

これに関するヘルプは大歓迎です。

0 投票する
0 に答える
2561 参照

maven - ソースが変更されていない場合にのみ、maven-compiler-plugin の生成ソースを実行する

私の pom.xml には、次のような OpenJPA のメタモデルを生成するセクションがあります。

私が抱えている「問題」は、ソースコードに変更がある場合にのみ maven-compiler-plugin のこの「デフォルト」実行が呼び出されることです-これは予想されますが、「generate-entity-metamodel」は常に呼び出され、失敗につながりますこれらの生成クラスは、以前のビルドから既に存在するためです。ビルドが成功するためには、常にやらなければなりません。mvn clean compile

これを修正して、ソース ファイルに変更があった場合にのみ "generate-entity-metamodel" を呼び出すにはどうすればよいですか?


これが私がしたときの出力ですmvn test

うーん...なぜ「検出された変更」があるのですか?

0 投票する
1 に答える
216 参照

maven-3 - 3 番目の JAR にコンパイルされる Maven の 3 番目の Java ソース フォルダーを定義するにはどうすればよいですか?

デフォルトでは、Maven の標準ディレクトリ レイアウトには 2 つの Java ソース フォルダがあります。

私の目的のためにsrc/junit/java、 classifier を使用して JAR にパッケージ化する必要がある 3 番目のものが必要junitです。

可能であれば、新しいソース フォルダーには独自のクラスパスが必要です (コンパイル + スコープ付きのすべてjunit)。

そのためには、少なくともリソースを変更してプラグインをコンパイルする必要があると思います。

それとももっと簡単な方法がありますか?

here で説明されている回避策がありますが、そのためには、クラスパスに Mockito や JUnit などを配置するcompile必要があり、これは私の純潔の感覚に違反しています。

私のアプローチの賢明さを疑うすべての人のために: src/main/java. プロジェクト自体のテストで同じサポート コードを使用しているため、このコードは前後 src/main/javaにコンパイルする必要があります src/test/java

具体的には、サポート コードは からコードをインポートするsrc/main/java必要があり、テストはサポート コードをインポートできる必要があります。

0 投票する
1 に答える
1287 参照

java - Maven の Eclipse コンパイラーの引数

Java スタンドアロン用の Eclipse コンパイラでは、次のスタブのように、コマンドライン属性を介してコンパイル情報を XML に記録できます。

しかし、maven-compiler-plugin を plexus-compiler-eclipse で使用すると、この引数をコンパイラに渡すことができないようで、プラグインのコンパイラが別のものであるかどうか、原因がわかりません。新しいプロセスを生成しません(実行可能パラメーターを試してみました)、またはその他の理由。

pom.xml セクションは次のとおりです。

0 投票する
1 に答える
1704 参照

spring - Spring BOM で maven-war-plugin を使用する

プロジェクトに Spring BOM を追加しようとしています。私のPOMは以下です。

  1. 私はここで何かを正しくしていませんか?
  2. また、半関連の質問: spring-ws、spring-data-jpa などのバージョン番号が spring core、context などのバージョンと一致しないのはなぜですか?

次のエラーが発生します。

0 投票する
0 に答える
232 参照

maven - Maven でソースを削除する方法

https://jax-ws-commons.java.net/jaxws-maven-plugin/を使用して wsdl ファイルからソースを生成しています。異なるsourceDestDirで(異なるwsdlsに対して)複数の実行を行っています。これは期待どおりに機能しており、別のディレクトリにソースを生成しています。

ただし、プラグインはこれらのすべての sourceDestDir を追加してソースをビルドし、maven-compiler-plugin はそれらを自動的にコンパイルしようとします。

これを未然に防ぎたい。つまり、jaxws-maven-plugin によって追加されたソース ディレクトリを削除して、コンパイルする必要があるものとコンパイルしないものを定義できるようにします。これは可能ですか?

0 投票する
1 に答える
923 参照

java - Maven を使用した増分 Java コンパイル (Eclipse のように)

未解決のコンパイルの問題があるプロジェクトをビルドするために maven を使用したいと考えています。

主な目的は、コンパイル エラーを含むクラスのある種のスタブを使用して、アプリケーションをパッケージ化し、展開または実行することです。Eclipse がそうであることは理解しています ( JDT Coreのおかげです)。

Javac 以外のコンパイラを使用して Eclipse コンパイラを使用するのApache Maven ドキュメントに従って、maven Java コンパイラ プラグインを構成します。コンパイラ/ビルダーの動作を変更するためにいくつかの引数を設定する必要があるかもしれないと考えて、Help Eclipse - Compiling Java codeを読んでいましたが、どのコンパイラ/ビルダーオプションまたはこれらの組み合わせがうまくいくかわかりません。

これまでのところ、Maven Java コンパイラー・プラグインの次の構成は、Eclipse コンパイラーを使用してコンパイルし、コンパイル・エラーなしで Java クラスに対してのみ生成された .class (jvm バイトコード) を含むアプリケーションをパッケージ化します。この動作を取得するには、Eclipse コンパイラ (compilerId と依存関係を参照) と set を使用する必要がありますfailOnError=false

この構成では、実行でコンパイル エラーに含まれていないクラスが使用されない限り (スタブが生成されないため)、Java アプリケーションを実行できますが、Java EE コンテナーでは、クラスのロードが失敗するため、アプリケーションをデプロイすることはできません。 .

これについて何か助けていただければ幸いです。