初学JavaWeb中遇到的问题,在此记录:
问题:springboot 3开发的项目,部署到外部Tomcat10;
网上找了半天都没说到点子上,要不就是一大堆复杂的操作,对新手很不友好,经过研究摸索结果没有想象那么难。
一. Tomcat10安装:
1.下载Tomcat10
Apache Tomcat® - Apache Tomcat 10 Software Downloads
下载 64-bit Windows zip (pgp, sha512)
2.解压 apache-tomcat-10.1.8-windows-x64.zip
3.配置环境变量:
系统变量名为:CATALINA_HOME,变量值为刚才的解压目录
编辑系统变量下的Path
增加两个值:
%CATALINA_HOME%\bin
%CATALINA_HOME%\lib
3.设置启动
打开apache-tomcat-10.1.8\bin目录下的tomcat10w.exe
如果打开弹出提示:指定的服务未安装,请cmd进入apache-tomcat-10.1.8\bin目录执行:
service.bat install
启动模式设置为自动(Automatic),点击开始运行Start。
二、将SPRINGBOOT3项目部署到刚安装的Tomcat10
1.修改pom.xml文件
a, 添加或修改成<packaging>war</packaging>
b, 修改内置的Tomcat坐标为<scope>provided</scope>
如果pom.xml文件中没有Tomcat坐标,将下面5行直接加上:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
c, <build>标签中添加<finalName>ROOT</finalName>,表示访问路径为根目录
2.修改XXXApplication启动文件如下:
public class XXXApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(XXXApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(XXXApplication.class, args);
}
}
3.然后Maven面板禁止生命周期的test,再双击package打包成war包
4.复制ROOT.war 到apache-tomcat-10.1.8\webapps下,在此前把原内容清空。