很多同学并不知道springboot 打包方式或者打包失败,这里记录一波springboot打成war包的方式
第一 配置
(1)在pom.xml里面配置两点 打包方式 及打包名称
<parent>
<artifactId>story-master</artifactId>
<groupId>com.wgu</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<!-- 打包方式 -->
<packaging>war</packaging>
<build>
<!-- 打包名称 -->
<finalName>story</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
(2)改写启动类 继承SpringBootServletInitializer,并重写configure方法
@Slf4j
@EnableSwagger2 //接口文档
@SpringBootApplication
public class StoryCenterApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(StoryCenterApplication.class, args);
ServerProperties serverProperties = SpringContextHolder.getBean(ServerProperties.class);
log.info("接口文档:====> run at http://localhost:{}/swagger-ui.html#/ <====", serverProperties.getPort() + serverProperties.getServlet().getContextPath());
}
/**
* 打war包时重写此段代码
* @param application
* @return
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(StoryCenterApplication.class);
}
}
第二 打包
打包方式有两种,编辑器自带的快捷键,命令行打包
记录一波命令行打包
进入项目路径,输入一下命令
mvn clean package -Dmaven.test.skip=true
打包成功后,包在和src同等级的target下,后缀名为 .war的就是你打包的东西
第三 上传
在服务器上安装好tomcat之后,将war包放在tomcat webapps下,启动tomcat就OK了
这里说一下路径: ip地址:端口号/war包名
比如我这里就是 xx.xx.xx.xx:8080/story