我有一個maven POM,我想用它作爲模板,根據我傳遞給它的參數來生成不同名稱的工件。但我無法弄清楚如何在運行時指定artifactId。我可以在運行時指定maven project.artifactId嗎?
如果我參數化<artifactId>
元件是這樣的:
<artifact>foo-${bar}</artifact>
行家抱怨:
[警告] '的artifactId' 包含的表達,但應該是一個常數。
如果我離開了在POM <artifactId>
,並嘗試以
mvn -Dproject.artifactId=foo ...
行家指定它在命令行上抱怨:
[錯誤] '的artifactId' 缺失。
除了訴諸從模板生成POM文件之外,還有其他的技巧可以用來完成這個嗎? [嗯,也許我可以做到這一點使用maven資源過濾...]
謝謝,這看起來很合適。似乎每個Maven問題都有「這是一個插件」形式的答案:-)。我懷疑我的使用Maven過濾的想法最終會變成一個窮人的原型,所以使用經過驗證的東西而不是重新發明輪子是有道理的。 –
我同意原型是要走的路,但它並沒有真正回答這個問題。即使這是一個完全不好的做法,是否可以在運行時設置artifactId? – dokaspar