1

我无法导入启用了 WTP 功能的 Maven 项目。

我已经尝试过:

mvn -Dwtpversion=R7 eclipse:eclipse

当我进行导入时,未启用 WTP 功能。

如何在启用功能的情况下导入?

4

2 回答 2

2

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>
于 2009-10-27T22:54:15.630 回答
0

不要忘记运行

mvn eclipse:clean eclipse:eclipse

删除之前创建的 eclipse wtp 配置文件

于 2011-05-10T19:33:45.410 回答