Maven + App Engine + плагин Google Eclipse
Есть ли способ, чтобы у меня был совместимый с Maven проект Google App Engine (Java), который также совместим с плагином Google Eclipse внутри Eclipse?
Спасибо!
EDIT:
Встроенная поддержка плагина Maven:
https://developers.google.com/appengine/docs/java/tools/maven
Ответы
Ответ 1
В зависимости от того, что вы подразумеваете под "совместимым", и зависит от того, какие функции вы используете плагин GAE. Мы используем плагин appengine maven http://code.google.com/p/maven-gae-plugin/ и затмение, и они, похоже, работают хорошо вместе, но мы не используем GWT или JDO. Как и в большинстве случаев maven/eclipse, я считаю, что лучше всего запускать ваши материалы из командной строки и просто использовать eclipse в качестве редактора.
Ответ 2
Я использую maven и GAE с одного года с JDO без проблем.
Вот моя конфигурация на MacOSX Snow Leopard:
- Apache Maven 3.0.3
- Версия Eclipse: 3.7.1
- m2e - Интеграция Maven для Eclipse 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
Ответ 3
+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 имеется известная ошибка [править], которая предотвращает правильную работу многих вещей.
Ответ 4
Как упоминалось, Google предоставила поддержку maven:
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>
Ответ 5
Мои общие выводы о GAE + Maven + Eclipse.
Правило № 1: Используйте артефакт GAE для генерации вашего проекта GAE: https://developers.google.com/appengine/docs/java/tools/maven
Правило № 2: Если вы хотите разработать с помощью Eclipse - не делайте "mvn eclipse: eclipse", а затем импортируйте - это вызовет массу проблем. Вместо этого импортируйте как "Проект Maven"
Правило № 3: Простое/рабочее решение, как создать проект MVN/GAE/Eclipse, описанный на YouTube http://www.youtube.com/watch?v=oC6bJp5X3LI
PS. Я работаю над проектом с отдельными модулями Web/DAO/Domain. Я опубликую позже свои выводы и подсказки.