- 使用场景:使用springboot框架+mybatis+html开发的项目将软件服务打成war包,将war包部署在tomcat上。
- 使用前提:电脑已经安装jdk1.8、tomcat8.5环境。
- 开始部署:
步骤1:
Java启动类上加SpringApplicationBuilder()方法,且需继承类SpringBootServletInitializer
@SpringBootApplication
@MapperScan("com.jmjd.mapper")
public class LLJXApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(LLJXApplication.class, args);
}
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(LLJXApplication.class);
}
}
步骤2:
pom.xml中加入以下代码,该代码用于将springboot中内嵌的tomcat包依赖排除,不然springboot内嵌的tomcat会和外部tomcat产生冲突。
步骤3:
pom.xml中继续加入以下依赖:
(该代码用于开发时使用spring boot内嵌tomcat进行调试,真正生产时使用外部tomcat。)
(scope里的provided意思是只用于开发及测试阶段。)
步骤4:
在pom.xml文件中定义打包类型为war。
<groupId>com.test</groupId>
<artifactId>test</artifactId>
<packaging>war</packaging>//设置打包成war包
<name>test</name>//定义打包名称
在idea中使用package将项目打成war包,如下所示。
步骤5:
配置tomcat
- 将war包放在D:\test\tomcat\apache-tomcat-8.5.66\webapps路径下改名为test.war。
- 打开D:\test\tomcat\apache-tomcat-8.5.66\conf\server.xml,修改Connector port="80 “为自己想要的端口号。我将其改为8081
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
- 设置war包路径如下
<Host name="localhost" appBase="" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="D:\test\tomcat\apache-tomcat-8.5.66\webapps\test.war" reloadable="true"> </Context>
- 注:如果appBase=””且path=“/1”,浏览器访问路劲可以加上“/1”访问。不加也能访问。
- 如果appBase=”webapps”且path=“/1”,浏览器使用代码中原url无法访问,且加了“/1“的url也无法访问。
- appBase=”webapps”则war包解压文件会在webapps下war包名称文件夹。如果值为空,则war包解压文件会为tomcat根目录ROOT文件夹。
- 如果不使用<Context>标签,用原生的,在webapps中放入war包时需要将war包名称修改为ROOT.war,并且删除ROOT文件夹。这样浏览器才能使用原有路劲访问。
3.双击D:\test\tomcat\apache-tomcat-8.5.66\bin\startup.bat启动tomcat服务。
4.在浏览器中输入网址:http://ip:8081/login
标签:xml,浏览器,Springboot,tomcat,webapps,War,test,war From: https://blog.csdn.net/weixin_43848846/article/details/141168789