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