2011-01-27 16 views
6

Sono nuovo nel mondo di GAE. Sto usando eclipse e l'SDK di GAE, posso distribuire sul cloud con l'icona GAE e tutto va bene. Il problema sorge quando devo importare il numero infinito di dipendenze, quindi voglio usare Maven per quello. Ho scoperto che c'è una speciale esperto di plug-in chiamato GAE: Maven-gae-pluginVoglio usare Maven per un progetto GAE, come faccio?

Posso usare normale Maven solo per andare a prendere dependencys o devo usare il plugin speciale GAE per fare questo?

Grazie

risposta

4

È necessario definire un pom.xml per il progetto che dichiara le dipendenze.
Quando si costruisce con Maven, le dipendenze verranno scaricate dagli archivi remoti e archiviate nel repository locale $ {userhome} /. M2/repository.
Anche la generazione di Maven bloccherà le dipendenze nel file di guerra.

Il modo più semplice per iniziare è creare una struttura di progetto utilizzando un archetipo.

Ci sono 2 archetipi che ho provato per Gae finora:

  1. gae-archetipo-GWT, che è costruito adiacente al gae-maven-plugin, vedere questo article.
  2. gae-eclipse-maven-archetype, vedere questo article e notare anche il collegamento nella parte superiore dell'articolo per l'aggiornamento di helios.

Come suggerisce il nome gae-eclisse-maven-archetipo un migliore supporto per eclisse, Mi è stato trovare che le configurazioni di maven ed Eclipse sono state scontrano con l'altro, che gae-eclisse-maven-archetipo va una lunga strada per alleviare.

Se il tuo progetto attuale non utilizza lo maven directory structure, avrai una battaglia in salita. I progetti Maven sono più facili da configurare se si cerca di adattarsi alle impostazioni predefinite che sono in gran parte opzioni sensate, piuttosto che andare contro le regole e dover sostituire tutte le opzioni di configurazione predefinite.

+1

Solo una nota sull'integrazione.Le dipendenze dell'App Engine attualmente disponibili nei repository centrali di Maven portano un altro problema. Nell'SDK la versione datanucleus-appengine è 1.0.8.final mentre nel repository è semplice 1.0.8. A volte questo ti farà finire con lo stesso JAR due volte nel WEB-INF/lib. Non ho ancora trovato un modo per risolvere questo problema, ma una volta che lo scoprirò diventerà parte dell'archetipo. Saluti, l'autore del gae-eclipse-maven-archetype. – hleinone

+0

@hleinone ottimo lavoro sull'archetipo, è davvero utile - Grazie! – crowne

1

Non v'è alcuna ragione per cui non si può usare Maven per la sua dipendenza di sola gestione. Le dipendenze GAE sono tutte in centrale.

C'è una scrittura fino su come configurarlo here

io personalmente uso il plugin di Eclipse in dev e il plugin Maven durante l'esecuzione in integrazione continua.

Il principale trucchetto è seguire i consigli sull'assicurazione che le dipendenze di maven siano l'ultima cosa nel percorso di generazione sotto le dipendenze del plugin GAE.

0

Aggiungere il seguente alla pom.xml, modificandolo alle proprie esigenze:

<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> 

Nel caso in cui avete bisogno di ulteriori manufatti GAE-correlati, oltre appengine-api-1.0-sdk, avere uno sguardo per quei manufatti in The Central Repository under com.google.appengine, quindi aggiungerli l'elenco delle dipendenze di pom.xml.

Problemi correlati