前言:
这几天在一个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,以上两种方法都可以成功打包,亲测可用的.
希望可以帮到大家!