我无法导入启用了 WTP 功能的 Maven 项目。
我已经尝试过:
mvn -Dwtpversion=R7 eclipse:eclipse
当我进行导入时,未启用 WTP 功能。
如何在启用功能的情况下导入?
maven-eclipse-plugin 是否.wtpmodules
按预期生成文件?这是我在war
项目上运行相同命令时得到的结果:
$ mvn -Dwtpversion=R7 eclipse:eclipse
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'eclipse'.
[INFO] ------------------------------------------------------------------------
[INFO] Building maven-eclipse-plugin-wtp-testcase
[INFO] task-segment: [eclipse:eclipse]
[INFO] ------------------------------------------------------------------------
[INFO] Preparing eclipse:eclipse
[INFO] No goals needed for project - skipping
[INFO] [eclipse:eclipse {execution: default-cli}]
[INFO] Adding support for WTP version R7.
[INFO] Using Eclipse Workspace: null
[INFO] Adding default classpath container: org.eclipse.jdt.launching.JRE_CONTAINER
[INFO] Not writing settings - defaults suffice
[INFO] Wrote Eclipse project for "maven-eclipse-plugin-wtp-testcase" to /home/pascal/Projects/maven-eclipse-plugin-wtp-testcase.
[INFO]
Javadoc for some artifacts is not available.
Please run the same goal with the -DdownloadJavadocs=true parameter in order to check remote repositories for javadoc.
List of artifacts without a javadoc archive:
o junit:junit:3.8.1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 seconds
[INFO] Finished at: Tue Oct 27 22:49:17 CET 2009
[INFO] Final Memory: 9M/79M
[INFO] ------------------------------------------------------------------------
$ ls -a
. .. .classpath pom.xml .project src .wtpmodules
$ cat .wtpmodules
<project-modules id="moduleCoreId">
<wb-module deploy-name="maven-eclipse-plugin-wtp-testcase">
<module-type module-type-id="jst.web">
<version>2.4</version>
<property name="context-root" value="maven-eclipse-plugin-wtp-testcase"/>
</module-type>
<wb-resource deploy-path="/" source-path="/src/main/webapp"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/java"/>
</wb-module>
$
在我的环境中,eclipse 插件似乎工作正常。
也就是说,WTP R7 (0.7) 已经很老了(它于 2005 年 7 月发布),可能不是适合您配置的版本。根据Web Tools Platform 下载页面,WTP 0.7 和 WTP 1.0 与 Eclipse 3.1 一起使用,WTP 1.5 与 Eclipse 3.2 一起使用,WTP 2.0 与 Eclipse 3.3 一起使用,WTP 2.1 和 WTP 3.0 与 Eclipse 3.4 一起使用,WTP 3.1 与 Eclipse 3.5 一起使用。
所以问题是:您运行的是什么版本的 Eclipse 和 WTP?
该插件实际上可以创建 WTP R7、1.0、1.5 和 2.0 配置文件,如WTP 支持页面上所述( wtpversion 可选参数的文档中当前缺少 2.0,但这是一个文档错误,请参阅MECLIPSE-434)。我已经在 Eclipse 3.5.1 + WTP 3.1 中成功导入了一个生成的 WTP 2.0 项目,因此对于最新版本的 Eclipse(不管MECLIPSE-559)使用 2.0 应该是可以的。
注意:如果您不想在命令行上传递 wtpversion,可以在 pom.xml 的 maven-eclipse-plugin 配置中设置它,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<wtpversion>2.0</wtpversion>
...
</configuration>
</plugin>
不要忘记运行
mvn eclipse:clean eclipse:eclipse
删除之前创建的 eclipse wtp 配置文件