1

会社のプロジェクトで使用する Maven Archetype を作成しました。無効な XML のために失敗したアーキタイプからビルドされたプロジェクトを展開するまで、すべてがうまくいきました。

アーキタイプを生成するために作成したテンプレート内には、いくつかの .xml ファイルがあります。それぞれに次の XML 宣言があります。

<?xml version="1.0" encoding="UTF-8"?>

mvn archetype:create-from-projectアーキタイプを突き止めるために実行したところ、XML 宣言のバージョンが Maven キーワードとして決定され、それが変数にラップされたようです。その結果、原型の各 XML 宣言は次のようになりました。

<?xml ${version}="1.0" encoding="UTF-8"?>

アーキタイプを使用してプロジェクトを作成した後、Maven は明らかにこの変数をユーザーが選択したプロジェクトのバージョンに置き換えました。これにより、次のような結果になりました。

<?xml 1.0-SNAPSHOT="1.0" encoding="UTF-8"?>

XML では明らかに無効です。私の質問は、どうすればmvn archetype:create-from-projectこれを防ぐことができますか? 何らかの方法でスコープを制限したり、コマンドラインでフラグを設定したりする方法はありますか?

4

1 に答える 1

2

コマンドに追加-Darchetype.filteredExtentions=extension1,extension2,...してmvn、速度置換を行うときにどのファイル拡張子を含めるかを maven に指示できます。このフィルターにはファイル拡張子が含まれるため、すべてのファイル拡張子のリストを作成し、それらをスキップするために xml を除外します。プロジェクト内の唯一のファイル タイプである-Darchetype.filteredExtentions場合に実行できます。xml

于 2013-07-26T19:42:48.897 に答える