Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)

时间:2024-01-05 18:33:14

用到的工具
JDK1.8
Eclipse Luna j2ee
Eclipse 集成的Mave
tomcat7 (集成在xampp中的独立web服务器,或者通过Maven plugin集成web服务器)

步骤如下
1.新建Mave web工程,

A

B
Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)  Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)

C

D
Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat) Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)

之后会得到如下工程树

Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)

可以看到有红色警告,这是因为缺少java web服务器,可以安装tomcat,然后在eclipse中添加server并部署web程序。

也可以通过Maven plugin集成tomcat,使用maven发布web程序,可以实现自动部署web程序。

2.配置tomcat

安装xampp之后,就集成了tomcat7,但是此时不要单独启动tomcat,稍后会在eclipse中启动。

配置步骤如下,在工程属性的runtime中new一个server,类型为tomcat7

Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)

填写tomcat安装目录,就在xampp中找,

Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)

要确保工程已经被添加进server中,如果没有,需要手动添加进去(在server上右键,add and remove)

Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)

添加完了server,工程目录已经没有警告了,此时可以运行这个web项目了

Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)

在index.jsp上右键选择run->run on server就行了

Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)

3. 使用Maven的tomcat插件部署web程序。

前面使用的是独立的tmcat部署的方式,既然我们创建的是maven工程,通过maven来集成各种第三方工具(例如web服务器)才能充分发挥maven的优势。

我们在pom文件中添加如下两段,就可以实现集成tomcat服务器,并自动发布的功能。

首先是jsp依赖库,

     <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>jsptags</groupId>
<artifactId>pager-taglib</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>

然后是配置maven的tomcat插件,放在<build>里面即可,

   <build>
<finalName>maven-web-demo</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8080</port>
<path>/maven-web-demo</path>
<uriEncoding>UTF-8</uriEncoding>
<finalName>maven-web-demo</finalName>
<server>tomcat7</server>
</configuration>
<executions>
<!-- 打包成功后即开始运行web容器 -->
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

再配置一下maven run

在run configuation中,配置Maven run

Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)

Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)

上面的关键点是在Goals中填入 tomcat:run,之后直接点下面的 Run按钮,可以看到控制台结果,

Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)

看到8080说明已经发布成功了,在浏览器输入 http://localhost:8080/maven-web-demo/

Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)

要注意的是,maven中最好指定一下java版本号,我最开始用的java8,但是maven中没有指定版本(估计默认是java7),

始终编译不过,百思不得其解,最后换成java7了才能跑,然后恍然大悟。eclipse,maven,本机java之间需要保持统一才行。