Ошибка, которую вы видите в терминале, указывает на то, что ваша Java-программа пытается использовать сетевой адрес (порт), который уже занят другим процессом. Сообщение об ошибке `
java.net .BindException: Адрес уже используется` является ключевым моментом для решения проблемы.
1. **Проверка занятых портов:**
Для начала нужно выяснить, какой порт занят и какой процесс его использует. Вы можете сделать это с помощью команды `lsof` или `netstat`. Например, если вы знаете номер порта (допустим, 8080), можно использовать следующую команду:
sudo lsof -i :8080
или
sudo netstat -tulpn | grep :8080
Эти команды покажут, какой процесс использует порт 8080.
2. **Остановка процесса или изменение порта:**
- Если порт используется процессом, который можно остановить, вы можете его завершить с помощью команды `kill` или `killall`.
- Если остановить процесс нежелательно или невозможно, вам нужно изменить порт в настройках вашего Java-приложения на другой, свободный порт.
3. **Перезапуск вашего Java-приложения:**
После освобождения порта или его изменения в конфигурации, попробуйте перезапустить ваше Java-приложение.
Дополнительные советы
- Убедитесь, что ваш скрипт запуска не запускает несколько экземпляров одного и того же приложения, что может привести к попытке повторного использования одного и того же порта.
- Проверьте логику скрипта на предмет условий, которые могут привести к повторному запуску уже работающего приложения.
Эти шаги должны помочь вам решить проблему с запуском вашей Java-программы на Fedora Linux.
Выхлоп с терминала:
./E-IMZO.sh
апр. 20, 2024 11:44:26 PM uz.yt .eimzo.kernel.plugin.idcard.IDCardPlugin initFixWin8Issue
INFO: OS: Linux
апр. 20, 2024 11:44:26 PM uz.yt .eimzo.kernel.plugin.idcard.IDCardPlugin initFixWin8Issue
INFO: OS version: 6.8.5-301.fc40.x86_64
апр. 20, 2024 11:44:26 PM uz.yt .eimzo.kernel.plugin.idcard.IDCardPlugin initFixWin8Issue
INFO: fix win8 smartcard list issue enabled: false
апр. 20, 2024 11:44:26 PM uz.yt .eimzo.websocket.server.Application main
SEVERE: null
javax.websocket.DeploymentException: Адрес уже используется
at org.glassfish.tyrus.server.Server.start(Server.java:210)
at uz.yt .eimzo.websocket.server.Application.main(Application.java:285)
Caused by: java.net .BindException: Адрес уже используется
at java.base/sun.nio.ch.Net.bind0(Native Method)
at java.base/sun.nio.ch.Net.bind(Net.java:565)
at java.base/sun.nio.ch.ServerSocketChannelImpl.netBind(ServerSocketChannelImpl.java:344)
at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:301)
at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:89)
at org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.bindToChannelAndAddress(TCPNIOBindingHandler.java:132)
at org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.bind(TCPNIOBindingHandler.java:88)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.bind(TCPNIOTransport.java:236)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.bind(TCPNIOTransport.java:216)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.bind(TCPNIOTransport.java:207)
at org.glassfish.grizzly.http.server.NetworkListener.start(NetworkListener.java:680)
at org.glassfish.grizzly.http.server.HttpServer.start(HttpServer.java:278)
at org.glassfish.tyrus.container.grizzly.server.GrizzlyServerContainer$1.start(GrizzlyServerContainer.java:201)
at org.glassfish.tyrus.server.Server.start(Server.java:205)
... 1 more
апр. 20, 2024 11:44:27 PM org.glassfish.tyrus.server.Server stop
INFO: Websocket Server stopped.