单个命令在当前工作空间中构建所有Eclipse maven项目?

时间:2012-08-03 14:38:50

标签: java eclipse maven m2eclipse m2e

有没有人知道在当前工作空间中构建所有Maven项目的任何简单而有效的方法,例如,每个此类项目的maven clean install。

例如,是否可以选择多个项目并使用与$ {project_loc}类似的内容,或者获取可能用于运行配置的项目的弹出窗口?或者其他任何方式?

我正在使用Eclipse Juno。

2 个答案:

答案 0 :(得分:13)

你能给他们所有父pom.xml,然后mvn compile父pom.xml吗?

寻找项目继承here

如果你可以指定相对路径,这不应该太难。使用pom.xml创建一个新的maven项目,如:

<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.    apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>parent-app</artifactId>
    <packaging>pom</packaging>
    <version>1</version>
    <modules>
        <module>../project1</module>
        <module>../project2</module>
    </modules>
</project>

从Eclipse工作区(但不是文件系统)中删除项目,然后导入父maven项目。现在你可以:

Run As...&gt; Maven build&gt; clean compile(作为目标)

它应该清理并编译所有项目。

答案 1 :(得分:2)

由于启动配置始终与一个项目相关,因此无法通过纯Eclipse工具将许多项目放入启动配置中。但是,有一些解决方法:

  • 使用parent.pom创建一个包含所有现有项目的新项目(并在Maven中进行迭代)。
  • 确定每个项目的启动配置,然后使用CDTs launch groupsEclipseRunner插件批量启动它们。
  • 使用Ant脚本迭代工作区目录并使用Ant4Eclipse调用启动配置。

也就是说,最好的选择是parent.pom,因为它是一种经过验证的方式,您可以在持续集成服务器上重复使用它。