1、配置Tomcat
在tomcat配置文件 tomcat-user.xml中添加权限用户
<role rolename="tomcat"></role>
<role rolename="manager-gui"></role>
<role rolename="manager-script"></role>
<role rolename="admin-gui"></role>
<user username="tomcat" password="tomcat" roles="tomcat,manager-gui,admin-gui,manager-script"></user>
2、配置Maven
在maven配置文件 settings.xml中添加服务service,账号和密码要和tomcat-user.xml对应
<server>
<id>tomcat</id>
<username>tomcat</username>
<password>tomcat</password>
</server>
2、集成tomcat7插件
在项目中配置pom.xml, 注意:<server>标签的内容和settings.xml的<id>内容对应,否则会报错.
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/maven_web</path>
<update>true</update>
<url>http://localhost:8080/manager/text</url>
<server>tomcat</server>
</configuration>
</plugin>
如果不加<server>标签,需要配置账号密码,如下
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/maven_web</path>
<update>true</update>
<url>http://localhost:8080/manager/text</url>
<username>tomcat</username>
<password>tomcat</password>
</configuration>
</plugin>
一键启动:
mvn tomcat7:run
注意:一键启动之前需要把Tomcat服务关闭否则会报"地址已在使用"的错误
使用热部署:
由于我想把tomcat集成系统服务可以由 systemctl 管理
在 /lib/systemd/system 目录下创建tomcat.service 内容如下
[Unit]
Description=Tomcat9
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment='JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64'
Environment='CATALINA_PID=/usr/tomcat-9.0/bin/tomcat.pid'
Environment='CATALINA_HOME=/usr/tomcat-9.0/'
Environment='CATALINA_BASE=/usr/tomcat-9.0/'
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
WorkingDirectory=/usr/tomcat-9.0/
ExecStart=/usr/tomcat-9.0/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop= /usr/tomcat-9.0/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
在启用tomcat之前,需要把已经启动的tomcat 终止
运行如下命名即可启动tomcat服务
systemctl start tomcat.service
最后再启动tomcat的热部署
mvn tomcat7:deploy
成功部署!