2015-05-09 2 views
3

Я разрабатывал веб-сайт с использованием Java EE в Eclipse и тестировал его локально с помощью Glassfish, но после обновления до OS X 10.10.3 сервер начал таймаут во время запуска. При попытке запустить из терминала Glassfish не удалось запустить, но при использовании с sudo он начал успешно. Осмотрев веб-сайт, я обнаружил, что с 10.10.3 Glassfish необходимы привилегии root для запуска. Есть ли способ, которым я могу заставить Eclipse запустить сервер с правами root или обойти проблему другим способом?Как запустить сервер Glassfish от Eclipse на OS X 10.10.3?

EDIT: Это журнал после использования первого варианта Сиддхарта в (второй не имеет никакого значения при работе с Eclipse):

2015-05-16T16:30:39.877+1000|Info: Running GlassFish Version: GlassFish Server Open Source Edition 4.1 (build 13) 
2015-05-16T16:30:39.879+1000|Info: Server log file is using Formatter class: com.sun.enterprise.server.logging.ODLLogFormatter 
2015-05-16T16:30:39.980+1000|Info: Realm [admin-realm] of classtype [com.sun.enterprise.security.auth.realm.file.FileRealm] successfully created. 
2015-05-16T16:30:39.981+1000|Info: Realm [file] of classtype [com.sun.enterprise.security.auth.realm.file.FileRealm] successfully created. 
2015-05-16T16:30:39.984+1000|Info: Realm [certificate] of classtype [com.sun.enterprise.security.auth.realm.certificate.CertificateRealm] successfully created. 
2015-05-16T16:30:40.104+1000|Info: Authorization Service has successfully initialized. 
2015-05-16T16:30:40.130+1000|Info: Registered org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy for persistence-type = replicated in BackingStoreFactoryRegistry 
2015-05-16T16:30:40.375+1000|Info: Grizzly Framework 2.3.15 started in: 25ms - bound to [/0.0.0.0:8080] 
2015-05-16T16:30:40.391+1000|Info: Grizzly Framework 2.3.15 started in: 1ms - bound to [/0.0.0.0:8181] 
2015-05-16T16:30:40.397+1000|Info: Grizzly Framework 2.3.15 started in: 1ms - bound to [/0.0.0.0:4848] 
2015-05-16T16:30:40.427+1000|Info: Grizzly Framework 2.3.15 started in: 0ms - bound to [/0.0.0.0:3700] 
2015-05-16T16:30:40.428+1000|Info: GlassFish Server Open Source Edition 4.1 (13) startup time : Felix (1,426ms), startup services(619ms), total(2,045ms) 
2015-05-16T16:30:40.602+1000|Info: JMXStartupService has started JMXConnector on JMXService URL service:jmx:rmi://olivers-imac.gateway:8686/jndi/rmi://olivers-imac.gateway:8686/jmxrmi 

Иногда это только достигает здесь.

2015-05-16T16:30:40.602+1000|Info: Grizzly Framework 2.3.15 started in: 0ms - bound to [/0.0.0.0:7676] 
2015-05-16T16:30:40.670+1000|Info: Registered com.su[email protected]ae372b9 as OSGi service registration: [email protected] 

Иногда он достигает здесь.

2015-05-16T16:30:40.904+1000|Info: visiting unvisited references 
2015-05-16T16:30:41.444+1000|Info: Created HTTP listener http-listener-1 on host/port 0.0.0.0:8080 
2015-05-16T16:30:41.450+1000|Info: Created HTTP listener http-listener-2 on host/port 0.0.0.0:8181 
2015-05-16T16:30:41.453+1000|Info: Created HTTP listener admin-listener on host/port 0.0.0.0:4848 
2015-05-16T16:30:41.471+1000|Info: Created virtual server server 
2015-05-16T16:30:41.473+1000|Info: Created virtual server __asadmin 
2015-05-16T16:30:41.638+1000|Info: Setting JAAS app name glassfish-web 
2015-05-16T16:30:41.639+1000|Info: Virtual server server loaded default web module 
2015-05-16T16:30:41.927+1000|Info: Java security manager is disabled. 
2015-05-16T16:30:41.928+1000|Info: Entering Security Startup Service. 
2015-05-16T16:30:41.930+1000|Info: Loading policy provider com.sun.enterprise.security.provider.PolicyWrapper. 
2015-05-16T16:30:41.969+1000|Info: Security Service(s) started successfully. 
2015-05-16T16:30:42.155+1000|Info: visiting unvisited references 
2015-05-16T16:30:42.170+1000|Info: visiting unvisited references 
2015-05-16T16:30:42.172+1000|Info: visiting unvisited references 
2015-05-16T16:30:43.060+1000|Info: Initializing Mojarra 2.2.7 (20140610-1547 https://svn.java.net/svn/mojarra~svn/tags/[email protected]) for context '' 
2015-05-16T16:30:43.655+1000|Info: HV000001: Hibernate Validator 5.0.0.Final 
2015-05-16T16:30:43.965+1000|Info: Loading application [__admingui] at [/] 
2015-05-16T16:30:43.966+1000|Info: Loading application __admingui done in 3,296 ms 

EDIT: я пометил ответ Сиддхарт Правильна, как это помогло мне больше всего, однако эта проблема решена полностью себя только после обновления до Эль Капитане.

+0

У меня такая же проблема в Йосемити 10.10.3. От терминала с sudo работает, но от затмения не работает. Есть идеи? – Gere

+0

@ Gere Да, это тоже моя проблема. – Ontonator

ответ

1

Это известная проблема и теперь исправлена ​​(see this). Если вы хотите продолжить текущую версию Glassfish, возможно, вы можете рассмотреть опубликованное решение here.

Цитирование такое же решение ниже: -

It turns out that the Glassfish team made an assumption that they could use launchctl bsexec in their nucleus/admin/launcher/src/main/java/com/sun/enterprise/admin/launcher/GFLauncher.java file.

This sub-command now requires root privileges.

Someone has submitted a patch to Glassfish trunk, but if you want to continue using Glassfish immediately, you can create this script somewhere e.g. ~/bin/launchctl.

#!/bin/bash 
# A little hack to wrap launchctl in order to 
# successfully start Glassfish on Yosemite 10.10.3+ 
if [[ ${1} == "bsexec" ]]; then 
    nohup ${@:3} 
else 
    /bin/launchctl ${@} 
fi 

Remember to ‘chmod 755 ~/bin/launchctl’ so that it is executable.

Also remember that your ~/.profile or ~/.bash_profile must have something like this:

export PATH="$HOME/bin:$PATH" 

The idea here is that this script is a wrapper for launchctl. As a user in Yosemite 10.10.3, you cannot run bsexec, but you may want to use launchctl for other things.

+0

Я попробовал нижний вариант (я не знал, как использовать верхний), и Glassfish все еще не работает. При запуске с терминала он печатает: 'Ожидание запуска домена 1. Начало работы с доменом домена. \ NПеред выходом из сервера преждевременно с кодом выхода 1. \ nПрежде чем он умер, он произвел следующий вывод: \ n \ nError: Не удалось найти или load main class Workspace.GlassFish.glassfish4.glassfish.modules.glassfish.jar \ n \ nСкоманда start-domain failed. 'Новые строки заменяются на' \ n'. – Ontonator

+0

На самом деле, он работает от терминала после того, как я установил новую копию Glassfish, но он по-прежнему не работает с Eclipse. Он застревает после 'Info: Загрузка приложения __admingui сделано в 3,808 ms'. – Ontonator

+0

Мне удалось использовать верхний метод, загрузив исходный код и перекомпилировав класс GFLauncher с изменением 'nohup', чтобы он работал без' sudo' из Terminal, но он все еще не работал для Eclipse. Он сосать точно в том же месте. – Ontonator

0

У меня была такая же проблема с затмение LUNA Glassfish инструментов, которые я установил из Затмения MarketPlace под OSX 10.9.

Я столкнулся с сообщением ниже о переполнении стека, и, по-моему, после того, как проблема доступа к корню была разрешена в 10.10, я считаю, что предлагаемое решение там должно работать и на ваше дело, как и для меня.

Не забудьте удалить инструменты Glassfish, которые вы установили ранее с Marketplace!

Installing Glassfish tools in eclipse luna

Смежные вопросы