Eclipse не создает WEB-INF / классы для GWT - PullRequest
0 голосов
/ 06 июля 2011

Я использую GWT вместе с Maven , но что бы я ни пытался сделать, Eclipse не хочет компилировать исходный код в обычный Папка webapp / WEB-INF / classes автоматически.Я попытался воспроизвести проблему, используя gwtp-sample-basic образец из GWT-Platform;который можно найти здесь: gwtp-samples-0.6.zip

Развертывание и запуск проекта через Jetty без классов приводит к следующим ожидаемым ошибкам:

[WARN] Could not instantiate listener example.project.server.MyGuiceServletContextListener
java.lang.ClassNotFoundException: example.project.server.MyGuiceServletContextListener
...
[WARN] EXCEPTION 
java.lang.ClassNotFoundException: com.google.inject.servlet.GuiceFilter
...
[WARN] failed guiceFilter: javax.servlet.UnavailableException: com.google.inject.servlet.GuiceFilter
...
[WARN] Failed startup of context com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@aec7ab1{/,/home/user/Documents/Workspace/project/src/main/webapp}
javax.servlet.UnavailableException: com.google.inject.servlet.GuiceFilter
...

Используя Ant, классы собираются в нужную папку webapp / WEB-INF / classes , но это не удается сделать с любой конфигурацией Maven, которую я до сих пор пробовал.

  • Может ли это быть чем-то конкретным для Maven?
  • Что-нибудь, что я мог забыть настроить в Eclipse?
  • Кто-нибудь, у кого были подобные проблемы, плюс нашел, как их исправить?

Sidenotes: Использование стандартного плагина Sonatype Maven для Eclipse.Также пытался использовать инструмент webAppCreator для повторной инициализации проекта Maven, но результат не изменился.Использование настроек запуска по умолчанию.Веб-приложение / WEB-INF / lib автоматически содержит необходимые библиотеки.

1 Ответ

1 голос
/ 06 июля 2011

Maven обычно компилируется в target/classes.Когда вы создаете WAR с помощью Maven, Maven скопирует оттуда классы, чтобы они оказались в нужном месте в WAR.

Итак, вопрос: что вы подразумеваете под «запуском проекта»?Обычно это означает создание WAR и его развертывание.Если вы сделаете это, все должно работать.

Я предполагаю, что вы хотите избежать этих усилий, потому что это занимает довольно много времени.Но если вы не скажете нам конкретно, как вы настроили свой проект и как вы его «запускаете» (какой контейнер, какие плагины вы используете, и тому подобное), вы не сможете помочь.

[EDIT] Ваша основная проблема, вероятно, заключается в том, как путь к классу передается Jetty и соблюдает ли он его или строит свой собственный.

Возможно, вы захотите взглянуть на GWT Maven Plugin с надписью «Интегрироваться в Eclipse благодаря плагинам M2Eclipse и Google Eclipse».

Также этот пост может помочь вам.

...