私はテンプレートとして使用したいMaven POMを持っていますが、どの引数を渡すかによって異なる名前のアーティファクトが生成されます。しかし、私は実行時にartifactIdを指定する方法を理解できません。実行時にmaven project.artifactIdを指定できますか?
私はこのような<artifactId>
要素パラメータ化する場合:
<artifact>foo-${bar}</artifact>
Mavenを文句:
[WARNING] 'たartifactIdは' 式が含まれていますが、一定でなければなりません。私はPOMで<artifactId>
を除外し、
mvn -Dproject.artifactId=foo ...
達人が不平を言うと、コマンドラインでそれを指定しようと
:
[ERROR] 'たartifactId' は不足しています。
テンプレートからPOMファイルを生成することを頼りにする以外に、私がこれを達成するために使用できる別のトリックはありますか? [うーん、私はMavenのリソースフィルタリングを使ってそれを行うことができるかもしれません...]
ありがとう、これは良いフィット感のようです。すべてのMavenの質問のように、「そこにはプラグインがあります」という形の回答があります:-)私は、Mavenフィルタリングを使用するという考えは、貧しい人のアーキタイプのようなものに終わってしまったはずだと思うので、車輪を改造する代わりに実績のあるものに行くのが理にかなっています。 –
私は、アーキタイプが行く方法であることに同意しますが、本当にその質問に答えるわけではありません。たとえそれが全く悪い習慣であっても、実行時にartifactIdを設定することは可能ですか? – dokaspar