Maven plugin de Glassfish Embedded
-
19-09-2019 - |
Pregunta
Me parece que no puede conseguir el plugin de Maven Glassfish trabajando para la vida de mí:
<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>
Cuando corro mvn glassfish:run
, que está buscando un plugin diferente y no lo encuentra:
[INFO] The plugin 'org.apache.maven.plugins:maven-glassfish-plugin' does not exist or no valid version could be found
¿Alguna idea?
Solución
Usted no está invocando el plugin adecuado. Debe ser:
mvn embedded-glassfish:run
En realidad, lo estoy usando como esto: (con el mismo repositorio de plugins que declaraste):
<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>
Actualización: Por si acaso, el nombre completo de este Plugin sería:
mvn org.glassfish:maven-embedded-glassfish-plugin:3.0:run
Sin embargo, utilizando el nombre corto que funciona para mí.
Otros consejos
@Walter blanco (no puede / no sabe cómo responder a su comentario, así que estoy respondiendo a su lugar): He leído que de WAR dispersa son no apoyado totalmente por embebido GlassFish v3 .
En lo personal estoy esperando ansiosamente v3.1 con soporte de temporizador y MessageDriven. Con suerte soporte de servicios web se incluye también. ¿Esto sucede a nadie a tener una idea acerca de una ETA para v3.1?
PS: mvn org.glassfish:maven-embedded-glassfish-plugin:3.0:run
funciona para mi. Enganchará para arriba en un ciclo de vida de la prueba de integración experto adecuado ahora.
Este resultado problema desde hecho de que existen plugins de Maven 2-glassfish diferentes personas con el mismo nombre. Trate de usar
mvn org.glassfish:maven-glassfish-plugin:run
explanatation detallada de este problema se puede encontrar aquí .
ver en github ejemplo de trabajo
mvn package incrustado-glassfish: run
<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>