我使用Eclipse Mars。我在eclipse中为Tomcat8配置了服务器运行时。
我创建了一个maven webapp项目,其中包含一个非常简单的servlet,它只在(override)init运行时执行sysout()语句。
我试图在tomcat中运行webapp,希望在servlet初始化时看到sysout语句。但是,我的印象是,我的java类实际上都没有被编译/构建并放在web-inf文件夹下,因为tomcat启动正常,但我没有看到sysouts。
当我去localhost时:8080 / HelloWorld /我希望我的servlet的doGet()方法能够运行(我也在该方法中放了一个sysout),但是我得到了404.
这是我的项目布局(标准专家):
我的pom(我删除了无关的部分)。我相信当我启动tomcat时,不会执行构建插件。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" ...">
<modelVersion>4.0.0</modelVersion>
<groupId>com.company.group</groupId>
<artifactId>artifact</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<name>HelloWorld</name>
<properties>
...
</properties>
<dependencies>
...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>HelloWorld</warName>
</configuration>
</plugin>
</plugins>
</build>
</project>
我的web.xml
这是我的servlet中的init方法:
@Override
public void init(ServletConfig servletconfig) throws ServletException
{
System.out.println("sysout servlet");
}
当然,我将项目添加到我的tomcat配置中:
答案 0 :(得分:1)
[http://bigleap.co.in/corp/2013/06/running-maven-project-within-eclipse-on-tomcat/][1]。你需要设置目标来编译和运行eclipse tomact中的maven项目。清理两个目标:安装和tomact7:运行。