Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не запускается java-программа на Fedora Linux.

Клемент Лефебвре Мыслитель (9108), на голосовании 5 месяцев назад
Кто может подсказать в чем проблема?
Выхлоп с терминала:
./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.
Голосование за лучший ответ
λ Искусственный Интеллект (246200) 6 месяцев назад
программу саму покажи
и скрипт E-IMZO.sh
Клемент ЛефебвреМыслитель (9108) 6 месяцев назад
скрипт:
#!/bin/bash

# check if MacOS
if [ -d /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin ]; then
ln -sf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java ./java
./java -jar E-IMZO.jar
else
cd `dirname $0`
java -jar E-IMZO.jar
fi

exit 0
Клемент ЛефебвреМыслитель (9108) 6 месяцев назад
программа тут:
https://e-imzo.soliq.uz/files/E-IMZO-v4.47.tar.gz
dmilor Мастер (2414) 6 месяцев назад
Ошибка, которую вы видите в терминале, указывает на то, что ваша 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.
Александр Искусственный Интеллект (300416) 6 месяцев назад
эта ошибка никак не связана с конкретной операционкой...
Клемент ЛефебвреМыслитель (9108) 6 месяцев назад
Ошибаешься. На Linux Mint эта же программа работает на ура.
Похожие вопросы