我无法导入启用了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 downloads页,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 Support页上提到的WTP R7、1.0、1.5和2.0配置文件(documentation of the wtpversion optional parameter当前缺少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>