Documentación Oficial de Payara Micro
https://payara.gitbooks.io/payara-server/content/documentation/payara-micro/payara-micro.html
Existen diversas maneras de ejecutar Payara Micro desde NetBeans, en esta ocasión usaremos el plugin oficial que nos ofrece muchas ventajas, lo encontramos en el repositorio
https://github.com/payara/ecosystem-netbeans-plugin/releases
Descargamos el archivo correspondiente a la versión de NetBeans (en mi caso Apache NetBeans 9.0)
Descomprimir el archivo e ingresamos a NetBeans IDE y procedemos a Instalar el plugin
NetBeans --> Tools --> Plugins
Dejamos seleccionados todos los componentes
al finalizar la instalación, procedemos a Reiniciar el IDE
Observamos el icono para reiniciar PayaraMicro esta instalado en la barra de NetBeans
Procedemos con un ejemplo:
Vanos a crear un proyecto nuevo Payara Micro
Desde el menú
Fie --> New Project
Seleccionar
Categories: Maven
Project: Payara Micro Application
Indicamos el nombre del proyecto
Seleccionamos la versiòn de Payara que deseamos usar
Podemos observar el archivo pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.avbravo</groupId>
<artifactId>payara</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>payara</name>
<properties>
<endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<version.javaee>8.0</version.javaee>
<version.payara.micro>5.182</version.payara.micro>
</properties>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>${version.javaee}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArguments>
<endorseddirs>${endorsed.dir}</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-micro-maven-plugin</artifactId>
<version>1.0.1</version>
<configuration>
<payaraVersion>${version.payara.micro}</payaraVersion>
<deployWar>false</deployWar>
<commandLineOptions>
<option>
<key>--autoBindHttp</key>
</option>
<option>
<key>--deploy</key>
<value>${project.build.directory}/${project.build.finalName}</value>
</option>
</commandLineOptions>
</configuration>
</plugin>
</plugins>
</build>
</project>
En las propiedades del proyecto se muestra la categoría Payara Micro
En Run:
- Server : No seleccionar ningún servidor: <No Server Selected>
- Java EE Version: Cambiar Java EE 6 Web por Java EE 7 Web
Se muestra un dialogo solicitando confirmación del cambio
Al finalizar ejecutamos el proyecto
El IDE inicia las descargas de dependencias de maven, esperamos un momento que finalice.
Cuando se termina de descargar las dependencias se ejecuta el proyecto sobre PayaraMicro
Abrimos el navegador
Cambiar el nombre final del proyecto para mostrar url diferente
Editar el archivo pom.xml y agregar
<finalName>payara</finalName>
guardamos el archivo
Desde NetBeans dar clic en Refrescar Payara Micro
En la consola de NetBeans se muestra el mensaje
Ejecutar el proyecto
Convertir un Proyecto WEB JEE a Payara Micro
1. Mediante el plugin
2. Editando directamente el archivo pom.xml
1.Mediante el plugin
Desde el menú File --> New FileCategories: Payara
Files Type: Payara Micro Maven Plugin
Indicamos la versión de Payara Micro
el proyecto es automáticamente convertido a Payara Micro
En las propiedades del proyecto , se muestra Payara Micro
En Run
cambiamos a <Not Selected Server>
con esto podemos ejecutar el proyecto desde NetBeans sobre Payara Micro.
2. Editando directamente el archivo pom.xml
Agregamos<properties>
<endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<version.javaee>8.0</version.javaee>
<version.payara.micro>5.182</version.payara.micro>
</properties>
Cambiamos
<plugins><plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArguments>
<endorseddirs>${endorsed.dir}</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<outputDirectory>${endorsed.dir}</outputDirectory>
<silent>true</silent>
<artifactItems>
<artifactItem>
<groupId>javax</groupId>
<artifactId>javaee-endorsed-api</artifactId>
<version>7.0</version>
<type>jar</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
Por
<plugins><plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArguments>
<endorseddirs>${endorsed.dir}</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-micro-maven-plugin</artifactId>
<version>1.0.1</version>
<configuration>
<payaraVersion>${version.payara.micro}</payaraVersion>
<deployWar>false</deployWar>
<commandLineOptions>
<option>
<key>--autoBindHttp</key>
</option>
<option>
<key>--deploy</key>
<value>${project.build.directory}/${project.build.finalName}</value>
</option>
</commandLineOptions>
</configuration>
</plugin>
</plugins>
Reiniciamos NetBeans IDE
Se muestra el icono del server
Nos aseguramos que las propiedades del proyecto
Aparezca Micro
y en run no se selecciona ningún server.
Nota:
Si ejecutamos varios proyectos dese NetBeans IDE con Payara Micro, generalmente se asignaran puertos diferentes para cada proyecto, por ejemplo 8080, 8081
Error Maven
En algunas ocasiones cuando convertimos un proyecto Web, podemos encontrar el error al ejecutarlo
Se muestra el error
Exploding webapp
Assembling webapp [store] in [/home/avbravo/NetBeansProjects/sc/store/target/store]
Processing war project
Copying webapp resources [/home/avbravo/NetBeansProjects/sc/store/src/main/webapp]
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time: 3.253 s
Finished at: 2018-08-07T12:14:56-05:00
Final Memory: 26M/377M
------------------------------------------------------------------------
Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.3:exploded (default-cli) on project store: Failed to copy file for artifact [com.avbravo:storeejb:jar:18.08.1:compile]: /home/avbravo/NetBeansProjects/sc/storeejb/target/classes (Es un directorio) -> [Help 1]
To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.
For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Editamos el archivo pom.xml
y cambiamos
<plugin>
<groupId>org.apache.maven. plugins</groupId>
<inherited>true</inherited>
<artifactId>maven-war-plugin</ artifactId>
<version>2.3</version>
<configuration>
<failOnMissingWebXml>false</ failOnMissingWebXml>
</configuration>
</plugin>
por
<plugin>
<groupId>org.apache.maven. plugins</groupId>
<inherited>true</inherited>
<artifactId>maven-war-plugin</ artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</ failOnMissingWebXml>
</configuration>
</plugin>
Comments