1

Maven プロジェクトにいくつかの追加ソースを追加していますが、今のところすべてうまく機能しています。今日は次のようなものがあるため、追加のソース選択をもう少し一般的にしたいだけです。

<source>client/plugins/plug1/classes</source>
<source>client/plugins/plug2/classes</source>
<source>client/plugins/plug3/classes</source>
<source>client/plugins/plug4/classes</source>
<source>client/plugins/plug5/classes</source>
...

そして、私はこのようにしたい:

<source>client/plugins/**/classes</source>

pom.xmlこれは、一部の開発者が自分の作業スペースにすべてのプラグインを持っていないためです。私は各開発環境で自分のプラグインを変更したくありません。

残念ながら、フォルダーがsourceとしてマークされていないため、少なくとも Eclipseではそのパターンは機能しません。少し調査したところ、Maven がAnt パターンを使用していることがわかりましたが、機能していません。

その慣習を<sources>定義に使用することが可能かどうか教えてください。

4

1 に答える 1

2

いいえ、これは不可能です。

ゴールのsources属性は配列です。つまり、すべてのソースは である必要があるため、Ant パス パターンは使用できません。プラグインは文字通りファイルをソース ディレクトリとして追加します (存在しないため、何も起こりません)。これは、私がテストしたときのログです。build-helper-maven-plugin:add-sourceFileFileclient/plugins/**/classes

[INFO] --- build-helper-maven-plugin:1.10:add-source (add-source) @ test ---
[INFO] Source directory: <omitted>\client\plugins\**\classes added.

しかし、なぜそのようなものが欲しいのかという問題があります。あなたの質問からは、それらの「プラグイン」がどこから来ているのかは明らかではありませんが、そのような状況にあってはなりません。各プラグインは、おそらくマルチモジュール Maven プロジェクトの個別のモジュールである必要があります。このようにして、各プラグインはそのビルドを処理し、それらのモジュールに依存関係を追加できます。

于 2016-02-19T20:49:16.777 に答える