使用Java EE和Tomcat在eclipse中设置动态Web项目时出现问题

1 eclipse maven-2 java-ee

我正在尝试一个简单的helloworld测试项目,所以我可以在它上面构建.我在Eclipse中使用带有maven的Java EE,并且Requested reseource is not available在我的Web浏览器中从tomcat 收到错误.

现在我所拥有的是一个测试jsp页面打印Hello World,这是我想要的工作.我使用该命令创建了一个maven项目,mvn archetype:generate ..以生成项目结构,然后将其导入Eclipse.然后,我在项目中添加了一个动态Web方面.

以下是我的web.xml文件的样子:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
<display-name>Archetype Created Web Application</display-name>

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
Run Code Online (Sandbox Code Playgroud)

如何让tomcat获取我的index.jsp文件以便我可以显示它?我在web.xml文件中遗漏了什么吗?我有一个在eclipse中运行的tomcat服务器,所以这不是问题.我需要在web.xml中使用servlet映射条目吗?我真的迷失了这一切如何融合在一起.任何帮助都会很棒.

这是我用来生成maven项目的命令:

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp \
                   -DgroupId=com.mycompany.app \
                   -DartifactId=my-webapp \
                   -Dversion=1.0-SNAPSHOT 
Run Code Online (Sandbox Code Playgroud)

谢谢

Pas*_*ent 6

我使用该命令创建了一个maven项目,mvn archetype:generate ...以生成项目结构,然后将其导入Eclipse.然后,我在项目中添加了一个动态Web方面.

你不应该添加任何方面,如果你的项目有一个类型war的包装,事情应该工作.

因此,提供用于使用archetype插件创建项目的完整命令会很不错.你使用maven-archetype-webapp原型了吗?你有没有跑过这样的东西:

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp \
  -DgroupId=my.group.id -DartifactId=my-artifact -Dversion=1.0-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)

如果没有,那么请确保你的pom有一个<packaging>war</packaging>并且你使用war项目的默认结构(参见用法的例子).

那么,你使用什么插件进行Eclipse集成?你是如何将项目导入Eclipse的?

如果您正在使用maven-eclipse-plugin(如果您运行eclipse:eclipse),那么您需要将其配置为WTP支持.您需要传递wtpversion命令行(或在POM中配置插件):

mvn -Dwtpversion=2.0 eclipse:eclipse
Run Code Online (Sandbox Code Playgroud)

如果你正在使用m2eclipse的,则只需导入您的项目作为一个Maven项目(右键单击包资源管理器,然后导入...> Maven项目).

在这两种情况下,您的项目都应该被识别为可以在服务器上运行的动态Web模块.没有任何手动配置(没有要添加的方面).

更新:安装m2eclipse时是否安装了Maven Integration for WTP(可选)