Не удается развернуть веб-приложение jspresso helloworld (5-минутное руководство) на tomcat6/tomcat7

После того, как 10-минутный учебник Jspresso прошел нормально, я начинаю пробовать 5-минутный учебник, но не могу заставить его работать. Я всегда получаю следующее исключение при развертывании веб-приложения на tomcat6/tomcat7.

**** MessageBrokerServlet in application 'Example Application' failed to initialize due to runtime exception:   Exception: flex.messaging.config.ConfigurationException: Please specify a valid 'services.configuration.file' in web.xml.  You specified '/WEB-INF/flex/services-config.xml'.  This is not a valid file system path reachable via the app server and is also not a path to a resource in your J2EE application archive.
at flex.messaging.config.ServletResourceResolver.isAvailable(ServletResourceResolver.java:54)
at flex.messaging.config.FlexConfigurationManager.setupConfigurationPathAndResolver(FlexConfigurationManager.java:202)
at flex.messaging.config.FlexConfigurationManager.getMessagingConfiguration(FlexConfigurationManager.java:78)
at flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:109)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1213)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Моя установка: Win7, jdk1.7.0_55, Eclipse Luna Service Release 2 (4.4.2), Jspresso Developer Studio с www.jspresso.org/external/updates/e44/

Я новичок в Jspresso и, к сожалению, не очень привык к maven. Любые подсказки для меня?

ОБНОВЛЕНИЕ: ответ Винсента был правильным и устранил проблему с развертыванием, но теперь есть пустая страница, когда я открываю localhost:8080/helloworld-webapp/flex/index.html и когда я пытаюсь использовать localhost:8080. /helloworld-webapp/html5/index.html я получаю 404. @Vincent: Есть идеи и по этой проблеме?

ОБНОВЛЕНИЕ 2: я сделал пакет mvn на консоли (в eclipse у меня не получилось), и каким-то образом мне пришлось один раз запустить приложение с помощью mvn jetty:run-exploded. После этого развертывание на tomcat6 изнутри eclipse прошло успешно, и теперь оно работает.


person rowo    schedule 08.05.2015    source источник
comment
Можете ли вы предоставить больше информации? Потребуется используемая версия Jspresso (т. е. просмотрите корневой каталог вашего проекта pom.xml для родительской версии jspresso-root).   -  person Vincent Vandenschrick    schedule 08.05.2015


Ответы (1)


В Jspresso 4.0.7 возникла проблема, связанная с импортом проекта Eclipse, который неправильно отображал каталог конфигурации flex в веб-приложении WEB-INF/flex.

Эта ошибка была исправлена ​​в 4.0.8, но онлайн-каталог архетипов Jspresso по-прежнему указывает на 4.0.7. Я обновил онлайн-каталог архетипов, и теперь он указывает на 4.0.8, так что проблема уже должна быть устранена.
Просто перезапустите генерацию проекта, и все будет в порядке.

ОБНОВЛЕНИЕ: Eclipse не запускает компиляцию flex или qooxdoo в своей сборке; поэтому вам нужно сделать это один раз либо из командной строки (mvn package из корневого каталога проекта), либо из Eclipse (щелкните правой кнопкой мыши корень проекта, запустите как > Maven build... > package). Поскольку клиент flex/qooxdoo не зависит от кода вашего сервера приложений, вам не придется делать это снова во время разработки (если только вы не хотите настраивать пользовательский интерфейс клиента, например, для интеграции пользовательских компонентов, но это расширенное использование).

После этого обновите проект Eclipse и перезапустите Tomcat.

ОБНОВЛЕНИЕ 2. Вы также можете протестировать передовую версию Jspresso (4.1-SNAPSHOT включает новую тему, поддержку mongoDB и т. д.), создав свой проект из репозитория моментальных снимков maven, т. е. :< бр> mvn archetype:generate -DarchetypeCatalog=http://repository.jspresso.org/maven2-snapshots/

person Vincent Vandenschrick    schedule 08.05.2015
comment
Большое спасибо за ваш быстрый ответ и большую поддержку. Я обязательно попробую и новейшую версию Jspresso. - person rowo; 08.05.2015