maven部署web工程
Posted 素然止步
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven部署web工程相关的知识,希望对你有一定的参考价值。
首先创建一个maven打包类型为war的工程
创建完项目后,执行下图操作:
然后创建一个测试的Jsp文件,报错是因为还缺servlet-api.jar里面的类。
解决报错,有三种方法:
第一种:
项目右键,选择bluid path > configure bluid path
把tomcat放入到类路径中,因为tomcat自带servlet-api.jar.
第二种:
到maven的远程仓库复制servlet-api.jar的依赖到项目中的pom.xml。
然后就完成了,如果还报错,项目右键》maven > update project更新一下。
第三种:
项目右键选择Bluid Path > Configure Bluid Path
然后到最后一步,把项目部署到服务器上运行,部署方法也有三种。
第一种:
直接把项目部署在本地的tomcat中运行
在servers中创建tomcat我就省略了。
保存配置后,tomcat右键部署项目进tomcat中。
部署完后启动tomcat
然后启动tomcat,如果报错如下图,代表本地tomcat正在运行,需要手动到tomcat安装目录停止tomcat,因为第三种方法使用的是本地的tomcat,如果tomcat本来就开启着,再次在eclipse中启动会报下图的错误。
停止本地的tomcat运行
然后在eclipse重新启动tomcat就行了
最后在浏览器中运行项目,如果在浏览器中报404,就重启一下tomcat。
然后再浏览器中运行。
第二种:
把项目打包,然后放在本地tomcat中运行
修改一下war包的名字,去掉版本号,然后把war包放在本地tomcat中运行
第三种:
在项目的pom中配置部署。
1 <build>
2 <finalName>mavenWeb</finalName><!-- 项目名 -->
3 <plugins>
4 <plugin>
5 <!-- 启动web工程所依赖的servlet容器(tomcat) 注意需要先关闭本地tomcat/或者eclipse中的tomcat,不然会报错 -->
6 <groupId>org.codehaus.cargo</groupId><!-- 插件 -->
7 <artifactId>cargo-maven2-plugin</artifactId>
8 <version>1.4.9</version>
9 <configuration>
10 <container>
11 <containerId>tomcat8x</containerId><!--tomcat版本号,命名不能有-存在 -->
12 <home>D:\\soft\\Tomcat 8.5</home><!--本地tomcat的安装路径 -->
13 </container>
14 <configuration>
15 <type>existing</type>
16 <home>D:\\soft\\Tomcat 8.5</home><!--校验确认 -->
17 <!-- 默认值8080 -->
18 <properties>
19 <cargo.servlet.port>80</cargo.servlet.port><!--tomcat的端口号 -->
20 </properties>
21 </configuration>
22 </configuration>
23 <executions>
24 <execution>
25 <id>cargo-run</id>
26 <!-- 生命周期阶段,执行到install的时候 安装到maven本地仓库 -->
27 <phase>install</phase>
28 <goals>
29 <!-- 执行 -->
30 <goal>run</goal>
31 </goals>
32 </execution>
33 </executions>
34 </plugin>
35 </plugins>
36 </build>
配置好后,项目右键选择Run As > maven bluid ...
第三种方法也是依赖于本地tomcat,所以想要停止tomcat,需要停止本地的tomcat。
总结:三种部署方法对应着不同的需求,如果开发人员兼任测试建议使用第二种部署;
如果有另外的测试人员建议使用第一种,直接打包把war包给测试;
第三种部署适合服务器经验比较好的,一般都是在DOS中部署。
以上是关于maven部署web工程的主要内容,如果未能解决你的问题,请参考以下文章
maven web项目部署到tomcat时怎么设置不将web项目关联的maven工程打jar包,而是将maven工程编译到classes
什么是maven与maven的使用过程(例如在idea创建maven工程(重点讲讲idea创建使用maven管理的web工程,并且部署到tomcat上))