Jenkins发布项目 上线404排查 启动失败报错分析 Address already in use (Bind failed) jar包引用顺序

Jenkins发布项目 上线404排查 启动失败报错分析 Address already in use (Bind failed)

1. Address already in use (Bind failed)
是服务没杀掉 端口被占用了
还有一种可能就是第一次报404是因为上一个版本包kill掉之后。请求没断。日志还在输出
日志信息:

22-Jan-2025 09:51:20.657 SEVERE [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhost:1413]: 
 java.net.BindException: Address already in use (Bind failed)
	at java.net.PlainSocketImpl.socketBind(Native Method)
	at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
	at java.net.ServerSocket.bind(ServerSocket.java:375)
	at java.net.ServerSocket.<init>(ServerSocket.java:237)
	at org.apache.catalina.core.StandardServer.await(StandardServer.java:440)
	at org.apache.catalina.startup.Catalina.await(Catalina.java:769)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:715)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)

解决方法:在服务器上面kill 进程,然后手动重新启动成功。

 

2.不同的服务器文件服务器句柄排序有关,jar包引用顺序有关系。

报错信息里会提示某个类 有多个 或者无法找到
这个是查看jar引用关系

gradle dependencies --configuration compile > abc.txt
gradlew dependencies --configuration compile > abc.txt

gradlew :项目服务的名称目录:dependencies --configuration compile > abc.txt 【关键】模块前面是有冒号:
gradlew :util-all:dependencies --configuration compile > abc.txt


查看依赖命令:
定位到具体的服务中(即项目中的模块)再执行该命令:而不是项目工程主目录
gradle dependencies >> 1112.txt

Gradle查看依赖及排除依赖的方法
https://www.cnblogs.com/oktokeep/p/13682245.html
gradle dependencies 查找jar导入OR解决jar冲突
https://www.cnblogs.com/oktokeep/p/13252229.html

posted on 2025-03-04 18:43  oktokeep  阅读(67)  评论(0)    收藏  举报