1.springboot打成war包步骤
- 首先在springboot启动类中继承SpringBootServletInitializer,重写configure方法,如下:
@SpringBootApplication()
public class StartApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(StartApplication.class,args);
}
@Override
protected 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目录下,即可启动成功