2012-01-12 5 views
5

Sono nuovo di Maven e di m2e. Mi frustra che devo fare questa domanda, ma la scarsa documentazione di m2e e Google mi stanno deludendo.Come si crea un JAR con m2e (m2eclipse)?

Come si ottiene m2e per costruire un JAR? Capisco che questo dovrebbe accadere durante la fase del pacchetto Maven, ma m2e non sembra farlo come parte del processo di compilazione e non riesco a trovare un modo per eseguire esplicitamente la fase del pacchetto in Eclipse (né altre fasi che non sono fa parte della build predefinita).

Grazie.

risposta

10

Finché si ha il file pom.xml con i seguenti parametri:

<modelVersion>[a model number eg 4.0.0]</modelVersion> 
<groupId>[a group id eg com.myapp]</groupId> 
<artifactId>[a unique artifact id within your packages eg myapp]</artifactId> 
<version>[the version number eg 1.0-SNAPSHOT]</version> 
<packaging>jar</packaging> 
<name>[the name eg myapp]</name> 

allora avete solo bisogno di correre esperto di costruire con gli obiettivi clean install per creare un file jar dal progetto. È possibile eseguire accumulo Maven per diritto tintinnio sul progetto e andare a correre> Maven accumulo ...

Il vaso verrà creato in [dir progetto]/target

+0

Fantastico! Il dettaglio chiave che mi mancava era il puntatore delle opzioni Maven sotto "Esegui come". Non riesco a trovare un modo per eseguire una fase Maven arbitraria per salvarmi la vita ... m2e ha un disperato bisogno di un tutorial decente ... – HolySamosa

+0

@HolySamosa: ricorda che puoi ancora andare alla 'directory POM' e lanciare il tuo comandi di Maven via linea di comando (mvn clean install). A volte è più semplice rispetto all'utilizzo delle configurazioni "Esegui come". – proko

0

Anche se "Esegui come esperto di installare" farebbe il trucco, può essere buono sapere che m2e eseguirà l'equivalente della fase del pacchetto quando si esegue "Esporta ... file Jar/War/EAR". Sembra capire anche le configurazioni dei plugin, almeno un po ', e almeno per EAR ...

Come risolverà gli artefatti usando i progetti e il repository m2, funzionerà anche con i moduli "non correlati", poiché la dipendenza che si risolve in un progetto è abbastanza buona da permettere a eclipse di pacchettizzare. (Cioè, non c'è bisogno di installare la dipendenza non correlato a parte, sarà costruito automaticamente dal progetto Eclipse.)

Non sono sicuro che avrei distribuire qualsiasi cosa si costruisce però :-)