這幾天打包(war)了一個用SpringBoot寫的一個項目,在打包中有幾個地方要注意一下的:
(1)修改jar包爲war包:pom文件中修改
<packaging>war</packaging>
<!--<packaging>jar</packaging>-->
(2)打包的時候需要移除SpringBoot內置的Tomcat容器:
解決方法:修改pom中的
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope> <!-- 打包時添加scope 移除內置Tomcat容器 -->
</dependency>
在本地運行時再把scope註釋掉
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!-- <scope>provided</scope> -->
</dependency>
(3)重點:在項目有時候要用到jar(但是能用maven的倉庫儘量用,好處的話就不多說了),如果項目中用到第三方的jar包解決辦法:一樣修改pom中的build,在plugins標籤中添加plugin
<!-- 打包本地libs --> <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>libs</directory> <!-- 文件夾名稱 -->
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
這裏要注意紅色標記的地方 libs是存放jar包的文件夾 如果放在與src同級的位置可以直接把libs替換成你的文件夾名稱
如果存放jar包的文件夾在src/main/resources/裏面的話要把路勁加上去:即把紅色標記的地方改爲
src/main/resources/libs <!-- libs是jar所在文件夾名稱 -->
(4)重點:如果在項目中有用到webSocket通信,在我們打完包後運行會包webSocketConfig(配置類) 的連接地址連接不上的錯誤。
解決方法:WebSocketConfig類是新建的一個類,添加上@Configuration註解。
@Configuration
public class WebSocketConfig {
/**
* 本地運行 添加註解@Bean
* @return
*/
//@Bean
public ServerEndpointExporter serverEndpointExporter() {
return new ServerEndpointExporter();
}
}
在打包時把@Bean註解註釋掉。在本地運行時在加上@Bean註解WebSocket配置方法可以在百度上找到。
最後有什麼問題歡迎提出,我也是在學習中的“土木工程”