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/lldmb/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/lldmb/startup.sh ExecReload=/lldmb/kill -s HUP $MAINPID ExecStop= /usr/tomcat-9.0/lldmb/shutdown.shPrivateTmp=true [Install] WantedBy=multi-user.target在启用tomcat之前,需要把已经启动的tomcat 终止
运行如下命名即可启动tomcat服务
systemctl start tomcat.service最后再启动tomcat的热部署
mvn tomcat7:deploy成功部署!