2013-05-13 47 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