【发布时间】:2011-08-05 00:17:12
【问题描述】:
高级目标:创建一个可以在 Netbeans 和 Eclipse 中正确使用的 Maven Web 应用程序项目
将 Maven 项目转换为 Eclipse 时,使用命令时项目类型似乎没有设置为 Dynamic Web App:mvn eclipse:eclipse -Dwtpversion=2.0
在 Eclipse 中,如果创建一个动态 Web 应用程序,项目资源管理器中会显示更多选项,例如:JAX-WS Web Services、部署描述符等。这是一个完全不同的框架结构.
此外,在使用上述命令转换为 Eclipse 后,即使转换的输出显示:[INFO] 用作 WTP 服务器:Apache Tomcat v7.0,我也无法“运行”它。它不想作为 Web 服务运行,而是询问我这是 Java Servlet、Applet 还是单元测试。
使用动态 Web 应用程序(本机 Eclipse),运行项目时会显示以下内容:
也许我对 Eclipse 的要求太高了,为了获得内置的 Web 应用功能,它不能来自 Maven?
还有一个我可以试试。我可以在 Eclipse 中创建一个动态 Web 应用程序,然后点击 "Convert to Maven" 。拿那个 POM,修改,然后看看 netbeans 是否也会加载它。
我的“pom.xml”:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.voxel</groupId>
<artifactId>servermap</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>userprofile</name>
<properties>
<endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>com.sun.grizzly</groupId>
<artifactId>grizzly-servlet-webserver</artifactId>
<version>1.9.18-m</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>maven2-repository.dev.java.net</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2</url>
</repository>
</repositories>
【问题讨论】: