2013-05-13 44 views
4

我有一個可以從命令行運行的Maven項目,我打算使用mvn exec:java從一些腳本運行它。該項目可以與插件類型體系結構中的其他不同項目交互,因此我想指定在命令行上加載哪個插件。插件是獨立於核心代碼開發的,所以我想盡量避免在覈心項目的pom中引用它們。是否可以在命令行上指定其他Maven依賴關係?

看起來像execexecutableDependency Maven插件的配置可能是我正在尋找的,但它看起來不像我可以在命令行中指定的那樣。

+0

我不相信這是目前可能。但是也許可能會對exec插件進行修補:http://svn.codehaus.org/mojo/trunk/mojo/exec-maven-plugin – akostadinov 2013-09-04 07:00:41

回答

2

您也許可以使用Maven profiles。對不同的使用情況使用不同的配置文件並激活配置文件命令行。配置文件可以包含依賴項和插件,只有在激活該配置文件時纔會使用它們。

+0

這是一個好主意,但我想避免使用任何集中式的全部列表插件因爲會有很多,並由不同的團隊開發。他們都會共享一個普通的父類,所以我想我會添加一個配置文件,將插件運行器拉到父pom,然後從插件本身調用mvn -Prun-plugin。謝謝! – 2013-05-13 16:40:40

2

我遇到了一個類似的問題(不是在插件的上下文中),我不相信這是可能的。

我必須找到一個快速解決方案回去以後,並在pom.xml使用的屬性:

<dependency> 
    <groupId>${mygid}</groupId> 
    <artifactId>${myaid}</artifactId> 
    <version>${myver}</version> 
</dependency> 

,並會運行它想:

mvn -Dmygid=junit -Dmyaid=junit -Dmyver=4.11 clean package