2013-01-17 29 views
3

我有一个Maven项目。由于activeByDefault我有生产资料。看来我无法找到一种方法来将它作为应用程序在Eclipse中使用暂存配置文件运行,除非我将activeByDefault放入暂存配置文件中。 有没有办法配置这个,所以我不必每次都编辑pom?日食 - 当Maven参与“的运行Java应用程序”

+0

好问题。当您在Maven项目中声明“以Java应用程序运行”时,我不知道Eclipse正在执行什么操作。据推测,它只是启动它在后台编译的版本,这将基于您的默认配置文件?如果你明确建立一个不同的配置文件(通过运行为... Maven构建...),然后执行应用程序会发生什么? –

+0

你在使用m2e吗? –

+0

烨我使用M2E – dierre

回答

1

在Eclipse中从Maven项目运行Java应用程序的唯一影响是应用程序类路径是如何构建的。通常在Maven中有几个不同的类路径范围:编译,编译测试(这个实际上用于构建Eclipse JDT中的类路径)和运行时。运行时类路径作用域用于为应用程序启动组装类路径。 m2e实际上使用Maven代码来解决它。

因此,您必须在您的pom.xml中更改配置文件激活设置或在Eclipse项目属性/ Maven/Active Maven配置文件中指定活动配置文件。

如果您希望运行时配置文件与Eclipse中的构建时配置文件不同,那么现在就不可能了。您必须提交m2e的增强请求才能在计算启动类路径时指定活动配置文件。

+0

要扩大你的第一个建议 - 我猜OP可以定义分段分布在系统属性的存在激活。然后在“作为Java应用程序运行”参数中包含该属性? –

+0

@DuncanJones正好。我希望为临时环境创建一个类似“正在运行”的配置文件。 – dierre

+0

如果'环境'是一个不同的用户或机器,激活该机器/用户本地的settings.xml中的配置文件是有意义的。如果环境只是你临时修改的东西,我想它应该是pom.xml中的一个属性。 – cmonkey