Glassfish 3.1 CREDENTIAL_ERROR в Eclipse - PullRequest
       0

Glassfish 3.1 CREDENTIAL_ERROR в Eclipse

8 голосов
/ 04 августа 2011

Я не могу запустить Glassfish 3.1 в Eclipse Indigo с плагином «Oracle Glassfish Server Tools» в Windows 7. После установки плагина я выбрал «Новый» -> «Сервер» в представлении сервера и нажал на GlassFish 3.1 и скачал установку через Eclipse.

Каждый раз, когда я пытаюсь запустить его, у меня появляется следующее сообщение:

The Eclipse plugin cannot communicate with the GlassFish server, 
status is :CREDENTIAL_ERROR

Я обнаружил, что первоначальный пароль - «changeit», и я изменил его на свой собственный, в командной строке:

bin/asadmin change-master-password  domain1
Enter the current master password>
Enter the new master password>
Enter the new master password again>
Command change-master-password executed successfully.

Я изменил его соответствующим образом на экране конфигурации GlasshFish 3.1 в Eclipse в разделе Сервер приложений (Пароль администратора).

Указанные порты (8080, 4848) совместимы с конфигурацией domain.xml:

<network-listeners>
    <network-listener port="8080" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener>
    <network-listener port="8181" protocol="http-listener-2" transport="tcp" name="http-listener-2" thread-pool="http-thread-pool"></network-listener>
    <network-listener port="4848" protocol="admin-listener" transport="tcp" name="admin-listener" thread-pool="admin-thread-pool"></network-listener>
</network-listeners>

Однако в моем .log я нахожу следующее:

!ENTRY oracle.eclipse.tools.glassfish 4 1 2011-08-04 11:38:43.925
!MESSAGE GlassFish: error 
!STACK 0
java.net.ConnectException: Connection refused: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:525)
    at java.net.Socket.connect(Socket.java:475)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)
    at sun.net.www.http.HttpClient.New(HttpClient.java:306)
    at sun.net.www.http.HttpClient.New(HttpClient.java:323)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:860)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726)
    at com.sun.enterprise.jst.server.sunappsrv.commands.CommandRunner.call(CommandRunner.java:607)
    at com.sun.enterprise.jst.server.sunappsrv.commands.CommandRunner.call(CommandRunner.java:1)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)

!ENTRY oracle.eclipse.tools.glassfish 4 150 2011-08-04 11:38:43.928
!MESSAGE The Eclipse plugin cannot communicate with the GlassFish server, status is :CREDENTIAL_ERROR
!STACK 0
java.lang.RuntimeException: The Eclipse plugin cannot communicate with the GlassFish server.Status is :CREDENTIAL_ERROR
    at com.sun.enterprise.jst.server.sunappsrv.SunAppServerLaunch.launch(SunAppServerLaunch.java:163)
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:854)
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:703)
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:696)
    at org.eclipse.wst.server.core.internal.Server.startImpl2(Server.java:3404)
    at org.eclipse.wst.server.core.internal.Server.startImpl(Server.java:3342)
    at org.eclipse.wst.server.core.internal.Server$StartJob.run(Server.java:363)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Так что кажется, что сообщение об ошибке, отображаемое в интерфейсе, вводит в заблуждение, насколько я понимаю, это должна быть проблема с подключением, а не с паролем. Кто-нибудь знает, как решить эту проблему?

Ответы [ 9 ]

8 голосов
/ 19 ноября 2011

Я получил " Плагин Eclipse не может связаться с сервером GlassFish, статус: CREDENTIAL_ERROR"ошибка тоже.

Я нашел решение моей проблемы, убедившись, что никакой другой процесс не прослушивал порт 8080.
Чтобы найти процессы, которые прослушивают порт 8080, вызовите командную строку и введите следующее:

netstat -a -n -o | find "8080"
  1. В крайнем правом столбце вы увидите идентификатор процесса.
  2. Откройте диспетчер задач Windows (нажмите Ctrl + Alt + Delete и выберите «Запустите диспетчер задач») и перейдите на вкладку процессов.
  3. Ищите столбец с именем «PID» (если его нет, перейдите к просмотреть -> выбрать столбцы ... -> проверить PID) и найти процесс с PID, который вы нашли, используя netstat.
    -> убить процесс -> попробовать еще раз.

У меня это сработало.

2 голосов
/ 09 апреля 2012

Причина, по которой ваш обмен портами, вероятно, сработал, заключается в том, что, когда 8080 был прослушивателем http, вероятно, ваш антивирус сканировал порт на http-трафик, что вызывает ошибку учетных данных. Я удалил запись 8080 из настроек AV при веб-сканировании, и сервер загрузился нормально. У меня ушло только полторы недели и перестройка ПК, прежде чем я нашел ту !!!!!

С уважением Chris

Обновление: оказывается, что мне пришлось полностью отключить HTTP-сканер, чтобы остановить эту проблему. Как только он был повторно включен, CREDENTIAL_ERROR вернулся. Я пытался добавить всевозможные исключения в настройки AV, но ни одно не помогло.

2 голосов
/ 04 октября 2011

В Mac OS 10.6 у меня было много тех же проблем, описанных выше:

  1. Сначала у меня был CREDENTIAL_ERROR.

  2. Я пытался создатьновый сервер, как предложено в ответе 2. Однако я случайно добавил неправильный пароль (его следует оставить пустым) и начал получать сообщения «неправильное имя пользователя или пароль».Я не смог изменить пароль.

  3. Затем я снова начал получать CREDENTIAL_ERROR.

  4. Решение было предложено в ответе 3, чтозапущен другой процесс.Я решил попробовать полностью удалить все серверы в моей настройке Eclipse, а затем добавить новый сервер, как описано в ответе 2.

Это прекрасно работало, и я сразу же поднялся иработает (не забывая оставить пароль пустым на этот раз до конца)

1 голос
/ 04 июня 2012

Я хочу улучшить ответ от Андреаса.

Да, важно проверить ваш порт:

netstat -a -n -o | find "8080"

Если вы используете Windows 7, сделайтеуверен, что ваш прокси-хост не активен.Пожалуйста, проверьте файл списка хостов и откройте его с помощью блокнота, затем перезагрузите компьютер после того, как прокомментируете все ненужные хосты. Здесь - это учебное пособие.

\%systemroot%\system32\drivers\etc\host

В моем случае jmx не удалось запустить, поскольку текущий хост использует activ.adobe.com не имя вашего компьютера и не localhost.

служба: jmx: rmi: //activate.adobe.com: 8686 / jndi / rmi: //activate.adobe.com: 8686 / jmxrmi

Хост должен быть "localhost" или "127.0.0.1" или имя вашего компьютера

service: jmx: rmi: // My-PC-Name: 8686 / jndi / rmi: // My-PC-Name: 8686 / jmxrmi

Последнее, что нужно проверить список процессов из Диспетчер задач , завершить процесс службы антивирусного прокси, как мой использует Trend Micro Internet Security , затем завершите процесс tmproxy.exe * 32 .

Вернитесь к своему затмению, дважды щелкните ваш сервер GlassFish на вкладке списка серверов, пожалуйста, Снимите отметку «Использовать анонимное соединение для консоли администратора» , затем обязательно заполните «Имя администратора» и «Пароль администратора» , например, admin пользователя и пароль adminadmв качестве GlassFish по умолчанию логин администратора.Теперь вы можете запустить сервер GlassFish из своего затмения. Работает .

1 голос
/ 17 января 2012

Я получил сообщение об ошибке «Плагин Eclipse не может связаться с сервером GlassFish, статус: CREDENTIAL_ERROR».

Для меня это была проблема с брандмауэром. - По какой-то причине межсетевой экран (настроенный ИТ-отделом) блокирует затмение для связи со Glassfish через порт 4848, по умолчанию используемый как «Порт сервера администратора».

Но порт 8080 не заблокирован.

Мой обходной путь заключался в переключении портов в domain.xml

<network-listeners>
  <network-listener port="4848" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener>
  <network-listener port="8181" protocol="http-listener-2" transport="tcp" name="http-listener-2" thread-pool="http-thread-pool"></network-listener>
  <network-listener port="8080" protocol="admin-listener" transport="tcp" name="admin-listener" thread-pool="admin-thread-pool"></network-listener>
</network-listeners>

Теперь я могу запустить сервер из Eclipse. И получить доступ к обычным страницам в браузере (потому что 4848 не заблокирован для браузера).

1 голос
/ 18 октября 2011

Проблема с другим процессом, занимающим порт 80, проверьте, не запущены ли другие веб-серверы или серверы приложений на этом порту, остановите их и повторите попытку

1 голос
/ 06 августа 2011

После отключения межсетевого экрана ZoneAlarm я мог успешно запустить GlassFish в Windows.Однако затем у меня возникло множество не связанных и раздражающих проблем, и, как предложил Мико, я снова переключился на использование Linux, которая является моей обычной платформой разработки, и все прошло нормально.

Чтобы задокументировать процесс:

  1. с Eclipse Indigo, разъем GlassFish по умолчанию отсутствует.На вкладке сервера WTP щелкните правой кнопкой мыши и выберите «Создать» -> «Сервер» и нажмите ссылку «Загрузить дополнительные адаптеры сервера», выберите «GlassFish» и нажмите «Далее», примите лицензию и нажмите «Готово».

  2. Этораз я сам скачал GlassFish из http://glassfish.java.net/ и выбрал полную платформу с открытым исходным кодом для Unix в виде файла .sh.

  3. В командной строке я переместил архивв родительской папке, где я хотел, чтобы он был установлен и называется "sh glassfish-3.1.1-unix.sh", что вызывает графическую конфигурацию.Я выбираю Типичную конфигурацию.

  4. Если вы выберете опцию автоматического обновления, будьте готовы подождать несколько минут.Это известная ошибка начиная с 3.0.1 , которая, похоже, предпочитает документировать, а не исправлять ее.Нет необходимости следовать совету, чтобы отменить установку, просто выпейте кофе или прочитайте некоторые новости, они пройдут.

  5. После установки GlassFish на вкладке сервера Eclipse выберите New-> Сервер и выберите «GlassFish» -> «Сервер GlassFish с открытым исходным кодом Edition 4 (Java EE 6)», просмотрите каталог domain1 Glassfish, оставьте пароль администратора пустым.

На данный моментМожно развернуть проекты на Glassfish, как я делал это в Tomcat.По моему опыту первого дня, горячая перераспределение работало, но не всегда, довольно часто была необходима остановка сервера + запуск.

0 голосов
/ 11 января 2012

Убедитесь, что в вашем затмении JDK установлен как JRE.

В Windows установите его на

window>preferences>java>installed jres

На Mac установите на

eclipse>preferences>java>installed jres

Этидолжен указывать на местоположение JDK.

0 голосов
/ 01 декабря 2011

Попробуйте это: убить процесс Java из диспетчера задач, если он не показывает процесс Java, затем перезагрузите компьютер >> это работает для меня

...