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目錄下,即可啟動成功