2010-02-10 11 views
8

io non riesco a ottenere il plugin Maven Glassfish a lavorare per la vita di me:Maven embedded plug Glassfish

<project> 
    ... 
    <pluginRepositories> 
    <pluginRepository> 
     <id>glassfish-repository</id> 
     <name>Java.net Repository for Glassfish</name> 
     <url>http://download.java.net/maven/glassfish</url> 
     <layout>default</layout> 
     <snapshots> 
     <enabled>true</enabled> 
     <updatePolicy>never</updatePolicy> 
     </snapshots> 
    </pluginRepository> 
    </pluginRepositories> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.glassfish</groupId> 
     <artifactId>maven-embedded-glassfish-plugin</artifactId> 
     <version>3.0</version> 

     <configuration> 
      <goalPrefix>glassfish</goalPrefix> 
      <app>${artifactId}.war</app> 
      <contextRoot>${context.root}</contextRoot> 
      <port>${http.port}</port> 
     </configuration> 
     </plugin> 
     ... 
    </plugins> 
    </build> 
</project> 

Quando eseguo mvn glassfish:run, si è alla ricerca di un plugin diverso e non riesce a trovarlo:

[INFO] The plugin 'org.apache.maven.plugins:maven-glassfish-plugin' does not exist or no valid version could be found 

Qualche idea?

risposta

13

Non stai invocando il plug-in corretto. Dovrebbe essere:

mvn embedded-glassfish:run 

A dire il vero, lo sto usando in questo modo: (con lo stesso repository di plugin è dichiarato):

<plugins> 
    <plugin> 
    <groupId>org.glassfish</groupId> 
    <artifactId>maven-embedded-glassfish-plugin</artifactId> 
    <version>3.0</version> 
    <configuration> 
     <goalPrefix>glassfish</goalPrefix> 
     <app>target/test.war</app> 
     <port>8080</port> 
     <contextRoot>test</contextRoot> 
    </configuration> 
    <executions> 
     <execution> 
     <phase>package</phase> 
     <goals> 
     <goal>run</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 
</plugins> 

Update: Solo nel caso, il nome completo di questo plug-in potrebbe essere:

mvn org.glassfish:maven-embedded-glassfish-plugin:3.0:run 

Ma usando il nome breve che funziona per me.

+0

Pascal, grazie per la risposta, ma quando provo a eseguire il suddetto comando, continuo a non trovare il plug-in: [INFO] Il plug-in "org.apache.maven.plugins: plug-in maven-embedded-glassfish 'non esiste o non è possibile trovare una versione valida –

+0

@Walter Si prega di inviare il tuo intero pom perché questo funziona per me. –

+1

Pascal - mi dispiace per la risposta in ritardo, ma alla fine sono migrato su Glassfish poiché è uno dei pochi contenitori compatibili con Java EE 6. Questa configurazione funziona bene. Ho dovuto installare manualmente gli artefatti per farli funzionare, ma ora funziona. –

0

Questo problema deriva dal fatto che esistono due diversi plug-in maven-glassfish con lo stesso nome. Prova ad utilizzare

mvn org.glassfish:maven-glassfish-plugin:run 

explanatation dettagliata di questo problema si possono trovare here.

+1

Penso che questo post del blog non è aggiornato, il plugin incorporato è Maven-embedded-GlassFish-plug, non maven- GlassFish-plugin. Vedi http://blogs.sun.com/sirajg/entry/using_maven_plugin_for_v3 –

+0

@Pascal Sì, hai ragione. Questa versione sembra essere rotta. – cetnar

3

@Walter White (non posso/non so come rispondere al tuo commento quindi sto rispondendo invece): Ho letto che le GUERRE sparse sono not fully supported by embedded GlassFish v3.

Personalmente sto aspettando con ansia v3.1 con supporto Timer e MessageDriven. Speriamo che anche il supporto del servizio web sia incluso. Qualcuno capisce di avere un ETA per la v3.1?

PS: mvn org.glassfish:maven-embedded-glassfish-plugin:3.0:run funziona per me. Lo collegherò in un vero ciclo di vita di test di integrazione maven ora.

0

vedere su github esempio di lavoro

pacchetto

mvn embedded-GlassFish: eseguire

<dependencies> 
    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-web-api</artifactId> 
     <version>7.0</version> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 

     <plugin> 
      <groupId>org.glassfish.embedded</groupId> 
      <artifactId>maven-embedded-glassfish-plugin</artifactId> 
      <version>3.1.2.2</version> 
      <configuration> 
       <app>target/${project.artifactId}-${project.version}</app> 
       <port>8080</port> 
       <contextRoot>${project.artifactId}</contextRoot> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>org.glassfish.main</groupId> 
        <artifactId>simple-glassfish-api</artifactId> 
        <version>4.0-b79</version> 
       </dependency> 
       <dependency> 
        <groupId>org.glassfish.main.extras</groupId> 
        <artifactId>glassfish-embedded-all</artifactId> 
        <version>4.0-b83</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
     <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
       <encoding>UTF-8</encoding> 
      </configuration> 
     </plugin> 
    </plugins> 

</build> 
<pluginRepositories> 
    <pluginRepository> 
     <id>maven.java.net</id> 
     <name>Java.net Repository for Maven</name> 
     <url>https://maven.java.net/content/groups/promoted/</url> 
    </pluginRepository> 
    <pluginRepository> 
     <id>maven2-repository.dev.java.net</id> 
     <name>Java.net Repository for Maven</name> 
     <url>http://download.java.net/maven/glassfish/</url> 
    </pluginRepository> 
</pluginRepositories>