一 下载安装
1 根据jdk版本下载对应的maven版本,然后解压到没有中文目录的路径
2 配置maven的环境变量
3 验证,dos窗口输入 mvn -v
4 如果要修改本地仓库位置修改settings.xml
5 和myeclipse的整合
二 新建
新建完需要等待一会儿才能完成
处理红色叉号
手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件
常用命令比如:mvn clean
Clean 清理编译的文件 Compile 编译了主目录的文件
Test 编译并运行了test目录的代码 Package 打包 Install 就是把项目发布到本地仓库
Tomcat:run 一键启动
Default生命周期
Compile test package install deploy
不同的生命周期的命令可以同时执行
Mvn clean package
三 具体细节
1 添加依赖
可以看到 pom.xml文件中多出代码
同样的方式添加servlet-api.jar和jsp-api.jar 注意选择scope为provided
2 依赖范围
Compile 比如:struts2-core
编译(compile)时需要 测试时需要,,运行时需要,打包时需要
Provided 比如:jsp-api.jar servlet-api.jar
编译(compile)时需要,测试(test)时也需要 ,运行时不需要,打包时不需要,因为tomcat自身会有这些jar所以可能会有冲突。
Runtime 数据库驱动包
编译时不需要,测试时需要,,运行时需要,打包时需要,这个有点难理解,实际上数据库驱动包没有的时候,我们编译不会出错。只有真正连接的时候需要
Test junit.jar
编译时不需要,测试时需要,运行时不需要,打包也不需要
四 启动
手动部署:
对着项目右键,run as -----> Maven install 就会在本地生成war包,找到相关目录:把这个包复制到我们本机安装的tomcat的webapp路径下:启动tomcat即可:访问路径一定要和war包的名字一致。
热加载:服务器会监听 class 文件改变,包括web-inf/class,wen-inf/lib,web-inf/web.xml等文件,若发生更改,则局部进行加载,不清空session ,不释放内存。开发中用的多,但是要考虑内存溢出的情况。
热部署: 整个项目从新部署,包括你从新打上.war 文件。 会清空session ,释放内存。项目打包的时候用的多。
tomcat热部署:
这种方式我们没有像以前一样先将项目移到tomcat在启动,而是直接启动tomcat然后用maven来开启访问,实际上就是maven来操作tomcat。
原文连接:
https://www.tpyyes.com/a/javaweb/2018/0610/629.html
什么是tomcat热部署呢?先搞清楚概念问题。
所谓的tomcat热部署,就是在不重启tomcat服务器的前提下,将自己的项目部署到tomcat服务器中,这种方式是非常方便的,也称之为“开发即用”,热部署分为手动热部署与自动热部署。
手动热部署:就是不重启tomcat的情况下,在tomcat自带的管理界面,例如“http://ip:8080/manager/html/”里面,直接选择需要部署的war包,然后点击“deploy”部署按钮即可将项目部署到远程服务器中,如图所示:
自动部署:就是在不重启tomcat的情况下,结合maven的pom.xml配置,在里面直接配置tomcat插件,并设置好远程服务器manager管理界面的登录用户名与密码,当我们在eclipse开发工具中运行“tomcat7:deploy”或“tomcat7:redeploy”命令时,就会将我们的项目自动部署到远程服务器上。
了解了什么是tomcat服务器热部署之后,我们再来学习如何实现tomcat热部署吧!
步骤一:我们都知道tomcat服务器是解压之后就可以运行的,因此要想实现tomcat热部署,就要开启tomcat的manager管理功能,正常情况下我们这样访问“http://ip:8080/manager/html/”管理界面的时候会报403错误,也就是无权限访问,因此需要配置tomcat管理界面的访问权限。
方法:
修改tomcat的conf下的tomcat-users.xml文件,在<tomcat-users></tomcat-users>标签之间添加如下配置,表示允许用户名和密码为“admin”的用户登录管理界面(密码自己设置):
<role rolename="manager-gui" /> <role rolename="manager-script" /> <user username="admin" password="admin" roles="manager-gui, manager-script"/>
重启tomcat之后如果浏览器和服务器处于同一台机器上,你访问“http://ip:8080/manager/html/”管理界面是可以的,但是如果你的浏览器与服务器不是同一台设备,就需要在“/conf/Catalina/localhost”下添加一个“manager.xml”文件,并添加如下代码:
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" /> </Context>
它表示允许任何客户端访问管理界面
步骤二:在eclipse的pom.xml文件上添加maven配置文件,添加tomcat,并设置远程的登录用户名和密码,配置如下:
<build> <finalName>english</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8080</port> <path>/</path> <uriEncoding>UTF-8</uriEncoding> <url>http://123.207.218.210:8080/manager/text</url> <username>admin</username> <password>admin</password> </configuration> </plugin> </plugins> </build>
此时我们在eclipse上如上图那样运行maven命令,就可以直接将我们的项目热部署到远程服务器上,就不用重启tomcat了,也就是“开发即用”!
webapps下的项目正在运行,直接把开发的新版本发布到正在运行的Tomcat下(不能关闭Tomcat再发布新版本)
开发者本地将代码通过Git push到服务器端,服务器自动编译-打包-发布等等;也就是说发布到tomcat中后,不需要重启tomcat。
原文连接:
http://8e351a5c.wiz03.com/share/s/2edhFs04v4Ek2hJTUO1rWuJG3SfW_90tN4ny2aaq3i1ewbGL
一;热部署前准备:
1 配置Tomcat登录的用户名和密码(热部署需要用户名和密码进行远程发布)
1.1 修改user配置文件一是为了管理员进入tomcat管理页面并提高其安全性,二是为了在maven设置正确的用户名;
C:\Java\apache-tomcat-7.0.79\conf\tomcat-users.xml
1.2 找到tomcat-user配置文件:
<!-- 配置Tomcat登录的用户名和密码 -->
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="admin"/>
<role rolename="manager"/>
<user username="tomcat" password="123456" roles="manager-gui,manager-script,admin,manager"/>
2 重启Tomcat,访问http://localhost:8080
进入tomcat服务器根目录,点击“manager app”输入用户名和密码,成功进入管理页面,说明第一步配置成功。
注:端口号改为80 可以默认不显示;访问项目应该隐藏项目名称;
二;热部署
1 Maven的Server的配置
在Maven的安装路径找到conf目录下的setting.xml文件("E:\software\apache-maven-3.5.0\conf"),在<servers>节点中添加tomcat7下配置的用户信息
<
server
>
<
id
>tomcat</
id
>
<
username
>admin</
username
>
<
password
>password</
password
>
</
server
>
注:如果在pom.xml中没有配置用户名和密码,则使用setting里的配置,如果有的话,就是用pom里的配置(就近原则)
配置完记得要Maven-->Update projiect(刷新)
2 pom.xml中添加tomcat插件
① 可以在pom.xml中右键-->Maven-->Add Plugin-->tomcat 自动添加插件
② 可以手动配置插件和Tomcat的访问路径
<build>
<finalName>babasport</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<!-- 本地jdk版本 -->
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<!-- 配置tomcat的访问 -->
<configuration>
<!-- 访问路径 -->
<url>http://localhost:8080/manager/text</url>
<!-- 项目发布到根目录,覆盖ROOT,URL访问可以省略项目名称 -->
<!-- <path>/</path> -->
<path>/babasport</path>
<server>tomcat</server> <!-- 此处的名字必须和setting.xml中配置的ID一致-->
<username>tomcat</username>
<password>123456</password>
</configuration>
</plugin>
</plugins>
</build>
3 最后来验证一下:启动tomcat服务器,保证里面没有发布任何项目
3.1 如果是eclipse,直接右键项目---run as ---maven bulid...输入“tomcat7:deploy”(二次发布以后输入"tomcat7:redeploy")
3.2 如果使用的是命令行,直接输入“mvn tomcat7:redeploy”
测试通过,输入地址可以正常的访问!