1.springboot打成war包步骤
- 首先在springboot启动类中继承SpringBootServletInitializer,重写configure方法,如下:
@SpringBootApplication()
public class StartApplication extends SpringBootServletInitializer {public static void main(String[] args) {SpringApplication.run(StartApplication.class,args);}@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(StartApplication.class);}
}
- 在pom.xml的文件中,修改打包方式, 如下:
<packaging>war</packaging><properties><system.lib.dir>${project.basedir}/lib</system.lib.dir></properties><build><finalName>test</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>2.2</version><configuration><failOnMissingWebXml>false</failOnMissingWebXml><webResources><resource><directory>${system.lib.dir}</directory><targetPath>WEB-INF/lib/</targetPath><includes><include>**/*.jar</include></includes></resource></webResources></configuration></plugin></plugins>
</build>
其中system.lib.dir是指项目中引入的jar包目录。
结果: 使用maven打包,将war包放入tomcat的webapps目录下,即可启动成功
2.VUE打成war包步骤
- 修改打包配置,找到vue项目下,config目录下的index.js,将assetsPublicPath修改为你想访问的名称,这个名称需要和tomcat目录下的webapps下的前端文件名一样
- 在vue目录下打包,执行命令:npm run build,会在vue目录下生成一个dist目录,里面的东西就是war包需要的文件
- 创建一个war包。然后在里面创建一个叫WEB-INF的文件夹,WEB-INF文件中创建一个web.xml文件, web.xml里面的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
- 将第二步中,dist下面的文件复制到 war下面,文件路径如下
结果: 使用maven打包,将war包放入tomcat的webapps目录下,即可启动成功