2011-01-27 5 views
6

soy nuevo en el mundo de GAE. Estoy usando eclipse y el SDK de GAE, puedo implementarlo en la nube con el ícono de GAE y todo está bien. El problema surge cuando tengo que importar la cantidad infinita de dependencia, entonces quiero usar maven para eso. Descubrí que hay un plugin especial GAE experto llamado: experto-gae-pluginQuiero usar maven para un proyecto de GAE, ¿cómo lo hago?

¿Puedo usar experto normal solamente a buscar dependencys o tengo que usar el plugin especial GAE para hacer esto?

Gracias

Respuesta

4

Deberá definir un pom.xml para el proyecto que declara las dependencias.
Al compilar con maven, las dependencias se descargarán de los repositorios remotos y se almacenarán en su repositorio local $ {userhome} /. M2/repository.
La construcción maven también activará las dependencias en su archivo war.

La manera más fácil de comenzar es creando una estructura de proyecto usando un arquetipo.

Hay 2 arquetipos que he probado hasta ahora para gae:

  1. gae-arquetipo-GWT, que se construye junto a la gae-maven-plugin, ver este article.
  2. gae-eclipse-maven-archetype, consulte este article y también tenga en cuenta el enlace en la parte superior del artículo para la actualización de helios.

Como el nombre sugiere gae-Eclipse-maven-arquetipo tiene un mejor soporte para Eclipse, que se han encontrando que las configuraciones para Maven y Eclipse han sido chocan entre sí, que va gae-Eclipse-maven-arquetipo un largo camino para aliviar.

Si su proyecto actual no utiliza el maven directory structure, entonces tendrá una batalla cuesta arriba. Los proyectos de Maven son más fáciles de configurar si intenta encajar con los valores predeterminados que son en gran parte opciones sensatas, en lugar de ir contra la corriente y tener que anular todas las opciones de configuración predeterminadas.

+1

Solo una nota sobre la integración.Las dependencias de App Engine que están actualmente disponibles en los repositorios centrales de Maven presentan otro problema. En el SDK, la versión de datanucleus-appengine es 1.0.8.final, mientras que en el repositorio es normal 1.0.8. Eso a veces te terminará con el mismo JAR dos veces en WEB-INF/lib. Todavía no he encontrado una manera de resolver esto, pero una vez que lo descubra se convertirá en parte del arquetipo. Saludos, el autor del gae-eclipse-maven-archetype. – hleinone

+0

@hleinone gran trabajo en el arquetipo, es realmente útil - ¡Gracias! – crowne

1

No hay ninguna razón por la que no se puede utilizar para el experto que es sólo la dependencia de gestión. Las dependencias de GAE están todas en Maven Central.

No es un escribir sobre cómo configurarlo here

Yo personalmente uso el plugin Eclipse en dev y el plugin Maven cuando se ejecuta en la integración continua.

El objetivo principal es seguir los consejos sobre cómo garantizar que las dependencias maven sean lo último en su ruta de compilación bajo las dependencias de plugins GAE.

0

Añadir lo siguiente a su pom.xml, modificándolo a sus necesidades:

<project> 
... 
    <properties> 
    ... 
     <com.google.appengine-version>1.6.4</com.google.appengine-version> 
    ... 
    </properties> 
    <dependencies> 
    ...  
     <dependency> 
      <groupId>com.google.appengine</groupId> 
      <artifactId>appengine-api-1.0-sdk</artifactId> 
      <version>${com.google.appengine-version}</version> 
     </dependency> 
    ... 
    </dependencies> 
... 
</project> 

En caso de que necesite cualquier artefactos relacionados con el GAE adicionales además appengine-api-1.0-sdk, echar un vistazo a esos artefactos en The Central Repository under com.google.appengine, a continuación, agregarlos a la lista de dependencias de su pom.xml.

Cuestiones relacionadas