下面是“SpringBoot应用War包形式部署到外部Tomcat的方法”的完整攻略:
前置条件
- 确认本地Tomcat服务器版本号;
- 确认本地SpringBoot项目的版本号和依赖库;
- 确认本地使用的Java版本;
配置pom.xml文件
首先,在我们的pom.xml文件中添加war插件:
<packaging>war</packaging>
...
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.5.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<classifier>exec</classifier>
<mainClass>com.example.demo.DemoApplication</mainClass>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
注意:groupId、artifactId、version这三个参数需要与你的SpringBoot项目的相关配置一致。
接着,修改SpringBoot项目启动类,指定war包启动方式:
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DemoApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
生成war包
用Maven命令打包:
mvn clean package
这时候我们会在target目录下,在war包名称的后缀中看到了“-exec”。
部署到本地Tomcat
将war包复制到Tomcat服务器的webapps目录下,等待Tomcat自动将war包进行部署。
或者手动部署,我们需要在Tomcat的conf文件夹中找到对应的server.xml文件,找到如下代码块:
<!--定义默认的web应用,即根目录和ROOT目录相同-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
在其中添加一个Context节点:
<Context path="/demo" docBase="demo-0.0.1.war" reloadable="true"/>
其中,path表示部署的应用名,docBase传入war包名称即可。
这时候我们成功在Tomcat服务器上部署了SpringBoot的demo应用。
示例
示例1:使用SpringBoot内嵌的Tomcat服务器
示例项目地址:https://github.com/tosfans/springboot-tomcat-demo
这是一个SpringBoot内嵌Tomcat服务器的示例项目,具体使用方式请参考项目的README文件。
示例2:使用SpringBoot应用War包形式部署到Tomcat
示例项目地址:https://github.com/tosfans/springboot-war-tomcat-demo
这是一个SpringBoot应用War包形式部署到外部Tomcat服务器的示例项目,具体使用方式请参考项目的README文件。
以上是“SpringBoot应用War包形式部署到外部Tomcat的方法”的完整攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot应用War包形式部署到外部Tomcat的方法 - Python技术站