Невозможно развернуть приложение HelloWorld на MobileFirst Development Server

У меня возникли проблемы со сборкой/запуском приложения HelloWorld из первое гибридное приложение учебник.

Когда я пытаюсь запустить приложение HelloWorld по умолчанию на MobileFirst Development Server, сервер запускается и снова останавливается (без ошибок) до того, как MobileFirst Application Builder успевает завершить работу. Это приводит к сбою развертывания приложения со следующим сообщением об ошибке:

[2015-01-23 14:03:12]             Failed to deploy application 'HelloWorld' to MobileFirst Server: org.apache.http.conn.HttpHostConnectException: Connect to 9.175.194.35:10080 
[/9.175.194.35] failed: Connection refused: connect 

Я пытаюсь это сделать с помощью Eclipse Kepler SR2 (64-разрядная версия) в Windows 7 (64-разрядная версия). Я использую Java 7 JDK, загруженный с Oracle, и IBM MobileFirst Platform Studio (6.3.0), установленный с Eclipse Marketplace.

Чтобы избежать длинных/сложных имен путей, я установил eclipse в C:\eclipsekepler и использую каталог рабочей области C:\workspace. Чтобы убедиться, что Eclipse использует правильный JDK, я поместил в свой файл eclipse.ini следующее (до vmargs):

-vm
C:\Program Files\Java\jdk1.7.0_75\bin\javaw.exe

В конфигурации сервера я установил имя хоста на IP-адрес моей машины, 9.175.194.35 (как сообщается при запуске ipconfig).

Вот полные логи консоли:

MobileFirst Console output:

[2015-01-23 14:01:25]             Starting build process: application 'HelloWorld', all environments 
[2015-01-23 14:02:53]             Application 'HelloWorld' with all environments build finished.
[2015-01-23 14:02:53]             Deploying application 'HelloWorld' with all environments to MobileFirst Server... 
[2015-01-23 14:03:12]             Failed to deploy application 'HelloWorld' to MobileFirst Server: org.apache.http.conn.HttpHostConnectException: Connect to 9.175.194.35:10080 
[/9.175.194.35] failed: Connection refused: connect 

MobileFirst Development Server console output (corporate network info redacted):

Listening for transport dt_socket at address: 10777
Launching worklight (WebSphere Application Server 8.5.5.3/wlp-1.0.6.cl50320140731-0257) on Java HotSpot(TM) 64-Bit Server VM, version 1.7.0_75-b13 (en_US)
[AUDIT   ] CWWKE0001I: The server worklight has been launched.
[AUDIT   ] CWWKZ0058I: Monitoring dropins for applications. 
[WARNING ] SRVE9967W: The manifest class path jaxb-api.jar can not be found in jar file wsjar:file:/C:/workspace/MobileFirstServerConfig/servers/worklight/apps/worklight-management-ui.war!/WEB-INF/lib/jaxb-impl-2.1.12.osgi.jar or its parent.
[WARNING ] SRVE9967W: The manifest class path activation.jar can not be found in jar file wsjar:file:/C:/workspace/MobileFirstServerConfig/servers/worklight/apps/worklight-management-ui.war!/WEB-INF/lib/jaxb-impl-2.1.12.osgi.jar or its parent.
[WARNING ] SRVE9967W: The manifest class path jsr173_1.0_api.jar can not be found in jar file wsjar:file:/C:/workspace/MobileFirstServerConfig/servers/worklight/apps/worklight-management-ui.war!/WEB-INF/lib/jaxb-impl-2.1.12.osgi.jar or its parent.
[WARNING ] SRVE9967W: The manifest class path jaxb1-impl.jar can not be found in jar file wsjar:file:/C:/workspace/MobileFirstServerConfig/servers/worklight/apps/worklight-management-ui.war!/WEB-INF/lib/jaxb-impl-2.1.12.osgi.jar or its parent.
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://<machine-name>.<connection-specific-DNS-suffix>:10080/HelloWorldProject/
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://<machine-name>.<connection-specific-DNS-suffix>:10080/_MobileBrowserSimulator/
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://<machine-name>.<connection-specific-DNS-suffix>:10080/IBMJMXConnectorREST/
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://<machine-name>.<connection-specific-DNS-suffix>:10080/worklight-analytics/
[AUDIT   ] CWWKZ0001I: Application _MobileBrowserSimulator started in 11.679 seconds.
[WARNING ] SRVE9967W: The manifest class path jaxb-api.jar can not be found in jar file wsjar:file:/C:/workspace/MobileFirstServerConfig/servers/worklight/apps/worklight-management-ui.war!/WEB-INF/lib/jaxb-impl-2.1.12.osgi.jar or its parent.
[WARNING ] SRVE9967W: The manifest class path activation.jar can not be found in jar file wsjar:file:/C:/workspace/MobileFirstServerConfig/servers/worklight/apps/worklight-management-ui.war!/WEB-INF/lib/jaxb-impl-2.1.12.osgi.jar or its parent.
[WARNING ] SRVE9967W: The manifest class path jsr173_1.0_api.jar can not be found in jar file wsjar:file:/C:/workspace/MobileFirstServerConfig/servers/worklight/apps/worklight-management-ui.war!/WEB-INF/lib/jaxb-impl-2.1.12.osgi.jar or its parent.
[WARNING ] SRVE9967W: The manifest class path jaxb1-impl.jar can not be found in jar file wsjar:file:/C:/workspace/MobileFirstServerConfig/servers/worklight/apps/worklight-management-ui.war!/WEB-INF/lib/jaxb-impl-2.1.12.osgi.jar or its parent.
[AUDIT   ] CWWKZ0001I: Application WorklightAnalytics started in 19.007 seconds.
[AUDIT   ] CWWKZ0001I: Application HelloWorldProject started in 21.164 seconds.
[AUDIT   ] CWWKZ0022W: Application WorklightServices has not started in 30.003 seconds.
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://<machine-name>.<connection-specific-DNS-suffix>:10080/worklightconsole/
[AUDIT   ] CWWKZ0022W: Application WorklightConsole has not started in 30.015 seconds.
[AUDIT   ] CWWKZ0001I: Application WorklightConsole started in 30.083 seconds.
[AUDIT   ] CWWKZ0022W: Application WorklightAnalyticsServices has not started in 30.006 seconds.
[AUDIT   ] CWWKF0015I: The server has the following interim fixes installed: PI23168.
[AUDIT   ] CWWKF0011I: The server worklight is ready to run a smarter planet.
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://<machine-name>.<connection-specific-DNS-suffix>:10080/worklightadmin/
[WARNING ] CWNEN0070W: The javax.ws.rs.QueryParam annotation class will not be recognized because it was loaded from the null location rather than from a product class loader.
[WARNING ] CWNEN0070W: The javax.ws.rs.PathParam annotation class will not be recognized because it was loaded from the null location rather than from a product class loader.
[WARNING ] CWNEN0070W: The javax.ws.rs.CookieParam annotation class will not be recognized because it was loaded from the null location rather than from a product class loader.
[WARNING ] CWNEN0070W: The javax.ws.rs.HeaderParam annotation class will not be recognized because it was loaded from the null location rather than from a product class loader.
[WARNING ] CWNEN0070W: The javax.ws.rs.core.Context annotation class will not be recognized because it was loaded from the null location rather than from a product class loader.
[WARNING ] CWNEN0070W: The javax.ws.rs.MatrixParam annotation class will not be recognized because it was loaded from the null location rather than from a product class loader.

Я могу успешно выполнить эквивалентные действия с помощью интерфейса командной строки MobileFirst с помощью:

cd C:\workspace\HelloWorldProject
mfp start
mfp build
mfp deploy
mfp console

Я пытался переустановить JDK, используя Eclipse Luna и Kepler, переустановить студию MobileFirst и начать с различных новых рабочих пространств, но, похоже, ничего не изменилось. Кто-нибудь знает, что может быть не так? Спасибо.

Обновить

Чтобы попытаться заставить MobileFirst использовать локальный хост вместо преобразования IP-адреса моей машины в имя хоста в корпоративной сети, я отключил сеть, что действительно привело к запуску сервера на 127.0.0.1 и попытке приложения развернуться на 127.0.0.1. Однако, несмотря на это, это все же не удалось.

Я заметил, что задача Mobile Application Builder, кажется, прогрессирует до 20%, а затем сидит там, пока сервер не остановится, а затем задача завершается, но не может быть развернута, потому что сервер остановил себя.

Может ли это быть проблемой производительности? Я пробую это на Thinkpad T420 с 4 ГБ ОЗУ.

Обновление от 27 января 2015 г.

Один из моих коллег установил Oracle JDK7, Eclipse Luna и IBM MobileFirst Platform Studio (6.3.0) на свой ThinkPad, который по параметрам оборудования/корпоративного программного обеспечения/сети идентичен моему, и все заработало нормально. Это уводит меня от корпоративного программного обеспечения или настроек корпоративной сети и указывает на проблему с конфигурацией или какое-либо другое программное обеспечение, влияющее на работу. Я попытался еще раз, удалив все, включая JDK/JRE, очистив реестр с помощью CCleaner, переустановив JDK/JRE, переустановив eclipse + mobilefirst с настройками по умолчанию. До сих пор нет успешного развертывания.


person Jamie McDonald    schedule 23.01.2015    source источник
comment
Я понимаю, что это маловероятно, но есть ли сомнения, что сервер на самом деле прослушивает 10080? Можете ли вы netstat и доказать это? Телнет к нему? Может брандмауэр мешает? Я знаю многих людей, которые сделали это, поэтому мне интересно, есть ли что-то особенное в вашем окружении.   -  person djna    schedule 23.01.2015
comment
@djna - Хорошие вопросы, я только что проверил с помощью Resource Monitor и подтвердил, что java.exe прослушивает порты 10777, 10443 и 10080. На моем ноутбуке работает Symantec Endpoint Encryption, но я добавил исключения для TCP-трафика на 10443 и 10080. Не работает. кажется, есть разница. Я следовал точно такому же процессу установки на своем личном компьютере с Windows дома, и он работал без проблем. Я подозреваю, что это что-то в моем окружении, как вы говорите, я просто не могу понять, что.   -  person Jamie McDonald    schedule 23.01.2015
comment
Я столкнулся с подобной проблемой на своем рабочем месте, но на моем личном ноутбуке все работало нормально.   -  person prsutar    schedule 30.01.2015
comment
Невероятно, но поскольку вы перепробовали так много вещей... Я всегда говорю eclipse JDK, который я хочу использовать, указав JAVA_HOME и PATH=%JAVA_HOME%\bin;%PATH% в командной строке и запустив eclipse оттуда. Может ли быть так, что eclipse работает на правильной виртуальной машине, но некоторые из его дочерних процессов выполняются в другой версии?   -  person xverges    schedule 03.02.2015
comment
@Xv. - Спасибо за это предложение, я проверил и уже установил JAVA_HOME и включил его в свой путь. Я все равно попытался запустить eclipse через командную строку, но это не имело никакого значения. На данный момент я отказался от работы студии eclipse на этом ноутбуке. Мой обходной путь заключается в разработке в Eclipse и использовании MFP для сборки/развертывания приложения и запуска консоли.   -  person Jamie McDonald    schedule 04.02.2015
comment
@JamieMcDonald Привет, Джейми, у меня та же проблема. Удачно разобраться?   -  person yojoannn    schedule 16.03.2015
comment
@simplymoody Извините, мне пока не повезло, сейчас я избегаю студии и просто использую CLI.   -  person Jamie McDonald    schedule 18.03.2015
comment
@JamieMcDonald Спасибо, Джейми. Попробовал запустить Eclipse, который я установил на другом компьютере с другой сетью, и это сработало. Тот, который я использую, кажется, проблема ... В любом случае, еще раз спасибо!   -  person yojoannn    schedule 24.03.2015
comment
Когда вы запускаете mfp в первый раз, он устанавливает сервер на вашем компьютере в каталоге пользователей, можете ли вы проверить это?   -  person Sachin Thapa    schedule 15.03.2016


Ответы (3)


Я пробовал в 2 разных Linux Ubuntu 14.04, 32-бит и 64-бит и 1 64-бит Windows 7. Вот что я обнаружил и испытал при установке MobileFirst Development Server:

  • Ubuntu 64-bit
    • Eclipse Luna and latest JDK1.8x .. error
    • Eclipse Kepler SR2 + JDK1.7.0_15 .. работает
  • Ubuntu 32-bit
    • Eclipse Luna and latest JDK1.8.0_25 .. works
  • Windows 7 64:
    • Eclipse Kepler SR2 + JDK1.7.0_15 .. works

Если вы используете JDK1.7.0_75 и выдает ошибку, я бы попробовал использовать более старую версию JDK. Надеюсь, это поможет.

person Andi Setiyadi    schedule 23.01.2015
comment
Спасибо за это, я попробую установить более старую версию 1.7 JDK и посмотреть, имеет ли это какое-то значение. - person Jamie McDonald; 23.01.2015
comment
Только что попробовал это, используя ту же версию, что и вы, JDK1.7.0_15, и все равно не повезло. Спасибо за предложение. - person Jamie McDonald; 26.01.2015
comment
Краткий ответ: платформа Worklight/MobileFirst не поддерживает Java 8. Поддерживаются только Java 6 и 7. - person Idan Adar; 04.02.2015

Это сработало для меня:

  1. Щелкните правой кнопкой мыши «Сервер разработки MobileFirst».
  2. Щелкните Свойства
  3. Перейти к ссылкам на проект
  4. Выберите свой проект HelloWorld
  5. Создайте и разверните снова
person Samra    schedule 02.06.2016

Это явно проблема с версиями eclipse и jdk. Я тоже столкнулся с такими трудностями. У MFP есть такие зависимости, поэтому ваш mfp-cli работает нормально. Попробуйте использовать eclipse juno или luna с jdk 1.7. Он должен работать.

person Shinu Badirudeen    schedule 06.04.2017