前言:
這幾天在一個SpringBoot項目中使用WebSocket來用作客服聊天以及上傳文件功能,項目在寫的時候,以及在idea中跑的時候都非常完美,結果一打成jar包是,報錯.在網上查了報錯原因,原來是自己導入的WebSocket的jar與SpringBoot內置tomcat中的WebSocket的jar衝突,需要在打包時把SpringBoot內置tomcat的jar給忽略掉,於是找到兩個解決辦法!
報錯如下:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serverEndpointExporter' defined in class path resource [com/audio/config/WebSocketConfig.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: javax.websocket.server.ServerContainer not available
第一種:
在打包時使用 mvn clean package -DskipTests 就可以完美打包,運行.
這種每次打包時都需要輸入命令,比較繁瑣,個人傾向第二種,在pom中添加配置即可
第二種:
在pom文件的<bulid>的<plugins>中加入如下配置,即可直接package成功
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
ok,以上兩種方法都可以成功打包,親測可用的.
希望可以幫到大家!