我正试图从ant构建文件在maven项目上运行eclipse:eclipse
。
但它失败了,错误:
Eclipsify:
[echo] Converting Maven Project to Eclipse Project
[artifact:mvn] -Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.org.apache.tools.ant.ExitExceptio
n: Permission ("java.lang.RuntimePermission" "exitVM") was not granted.
[artifact:mvn] at org.apache.tools.ant.types.Permissions$MySM.checkExit(Permissions.java:194)
[artifact:mvn] at java.lang.Runtime.exit(Runtime.java:107)
[artifact:mvn] at java.lang.System.exit(System.java:962)
下面是build.xml
中的配置<project name="ConnectAll"
default="default"
xmlns:artifact="antlib:org.apache.maven.artifact.ant">
在ant目标中,我添加了eclipse目标,如下所示
<artifact:mvn pom="${pom}" mavenhome="${MVN_HOME}">
<arg value="eclipse:eclipse" />
<arg value="-Dmaven.multiModuleProjectDirectory=true"/>
</artifact:mvn>
我也验证了${MVN_HOME}
的属性和实际的M2_HOME
是相同的。
谁能帮我弄清楚我在这里错过了什么
从Eclipse Juno (v4.2)开始,它包含Maven集成。
Maven项目应该使用导入向导导入:
- Eclipse菜单:文件->导入…
- 对话框Import,在页面Select打开
- 从树中选择Maven ->现有Maven项目
- 按下下一步 页面Maven Projects打开
- 在根目录字段中填写Maven项目所在的位置(使用Browse…以方便地选择位置(这将显示一个选择窗口,当按OK时,或选择一个目录,它可能需要一段时间,在所有Maven项目被发现之前,因为所有底层目录都被扫描))
- 从Projects视图中选择您想要导入的项目(已经导入的项目,以灰色显示(不可选择)。如果不同的Maven项目/模块具有相同的工件,也会发生这种情况。作为Maven构件,它被用作Eclipse项目名)。
- 按Finish按钮,开始导入选中的Maven项目
警告这将需要一段时间,因为很多时候,丢失的依赖项也需要下载。
备注当使用集成Maven支持的Eclipse时,不要使用mvn eclipse:eclipse
,因为它们相互冲突。