首页 > 编程知识 正文

Maven 使用本地Tomcat9 一键启动和热部署

时间:2023-05-05 05:52:42 阅读:227052 作者:4866

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

成功部署!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。