2012-04-13 2 views
19

Есть ли способ, которым я могу работать с Maven совместимым проектом Google App Engine (Java), который также совместим с плагином Google Eclipse внутри Eclipse?Maven + App Engine + плагин Google Eclipse

Спасибо!

EDIT:

Встроенная поддержка плагин Maven Сейчас:

https://developers.google.com/appengine/docs/java/tools/maven

ответ

6

Зависит от того, что вы подразумеваете под "совместимы", и это зависит от того, какие функции, которые вы используете в GAE плагин. Мы используем плагин appengine maven http://code.google.com/p/maven-gae-plugin/ и eclipse, и они, похоже, работают хорошо вместе, но мы не используем GWT или JDO. Как и в большинстве случаев maven/eclipse, я считаю, что лучше всего запускать ваши материалы из командной строки и просто использовать eclipse в качестве редактора.

+1

Я хочу использовать все функции GAE плагина Google Eclipse, имея возможность использовать функции зависимостей/тестов/развертывания Maven. Подобно тому, как приложению движок sdk связан Maven и т. Д. Я хочу интегрировать свой проект в Jenkins. Благодаря! –

+0

Кроме того, я не использую какую-либо определенную структуру таких инструментов, как GWT/JDO :) –

+1

Да, все это работает. Но вам может потребоваться вручную изменить настройки плагина GAE (в конфигурации проекта в eclipse), чтобы использовать ~/.m2/repository/.... для вашего SDK GAE. Посмотрите на документы, убедитесь, что вы также задали конфигурацию, указывающую на вашу войну в/src/webapp. –

2

+1 к ответу Рика, но я хотел бы добавить следующее:

Google есть учебник по этому вопросу: http://code.google.com/p/google-web-toolkit/wiki/WorkingWithMaven

сказанного, мы никогда не получали его работать на 100%. У maven-gwt-plugin, похоже, проблемы с Eclipse, и это ухудшается, если вы используете RequestFactory из-за APT. maven-gae-plugin, кажется, играет красиво. Бегущий от cmdline много проще. Кроме того, в Eclipse 3.7/m2e есть известная ошибка [b], которая предотвращает правильную работу многих вещей.

+0

Вы имеете в виду запуск командной строки с помощью maven-gae-plugin? Я думаю, это то, что я в конечном итоге делаю .. спасибо! –

+0

Да. 'mvn package gae: deploy' = win. –

+0

Я продолжаю получать эту ошибку: «Местоположение SDK» \ .m2 \ repository \ com \ google \ appengine \ appengine-api-1.0-sdk \ 1.7.2 \ appengine-api-1.0-sdk-1.7.2.jar ' не каталог «Это то, что вы видите? – ZiglioUK

3

Я использую maven и GAE с одного года с JDO без проблем. Вот моя конфигурация на MacOSX Snow Leopard:

  • Apache Maven 3.0.3
  • Затмение Версия: 3.7.1
  • m2e - Maven интеграции Затмения 1.0.100.20110804-1717

Важно иметь полностью интегрированный Eclipse с Maven (выполнить все тесты как из командной строки «mvn test», так и из интерфейса JUnit внутри Eclipse), чтобы файл .project был таким образом:

<?xml version="1.0" encoding="UTF-8"?> 
<projectDescription> 
    <name>PROJECT_NAME</name> 
    <comment></comment> 
    <projects> 
    </projects> 
    <buildSpec> 
     <buildCommand> 
      <name>org.eclipse.jdt.core.javabuilder</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
     <buildCommand> 
      <name>org.eclipse.m2e.core.maven2Builder</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
    </buildSpec> 
    <natures> 
     <nature>org.eclipse.m2e.core.maven2Nature</nature> 
     <nature>org.eclipse.jdt.core.javanature</nature> 
    </natures> 
</projectDescription> 

Плагин переехал сюда: https://github.com/maven-gae-plugin/maven-gae-plugin

1

Как уже упоминалось Google обеспечил поддержку мавена: https://developers.google.com/appengine/docs/java/tools/maven

Но выглядит она полностью не работает с Eclipse (как уже упоминалось в одном из комментариев: " Расположение SDK '.m2 \ repository \ com \ google \ appengine \ appengine-api-1.0-sdk \ 1.7.2 \ appengine-api-1.0-sdk-1.7.2.jar' не является каталогом ")

Чтобы решить эту проблему, я использовал maven-eclipse-plugin и указанные контейнеры для GAE/JRE:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-eclipse-plugin</artifactId> 
    <version>2.9</version> 
    <configuration> 
    <classpathContainers>    
<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer> 
<classpathContainer>com.google.appengine.eclipse.core.GAE_CONTAINER</classpathContainer> 
    </classpathContainers> 
    </configuration> 
</plugin> 
0

Мои общие выводы о GAE + Maven + Eclipse.

Правило № 1: Использование GAE архетип, чтобы генерировать проект GAE: https://developers.google.com/appengine/docs/java/tools/maven

Правило № 2: Если вы хотите развиваться с Eclipse, - не делать "МВН затмение: затмение" и то импорт - это вызовет массу проблем. Вместо импорта в качестве "Maven проекта"

Правило № 3: Простой/рабочий раствор, как создать проект МВН/GAE/Eclipse, описанный на YouTube http://www.youtube.com/watch?v=oC6bJp5X3LI

PS. Я работаю над проектом с отдельными модулями Web/DAO/Domain - я опубликую позже свои выводы и подсказки.