Blogs
- Liferay CE 7.0 GA3 / Liferay CE 7.0 GA4
- Liferay Plugins SDK 7.0 GA3 / Liferay Plugins SDK 7.0 GA4
Previo a la instalación de Liferay Plugins SDK 7
Antes de instalar este entorno, es necesario que hayamos instalado previamente:
- Liferay IDE
- El Bundle de Liferay CE 7 Portal o bien manualmente el Tomcat 8.0.x y el portal por separado.
Instalación de Liferay Plugins SDK 7
La instalación en esta versión de Liferay consiste tan solo en descomprimir el fichero "com.liferay.portal.plugins.sdk-7.0-ga3-20160804222206210.zip" en el lugar que decidamos de nuestro disco duro. Al igual que ocurría con la versión 6.2, los plugings que creemos se encontrarán bajo este directorio descomprimido en su lugar correspondiente (hooks, portlets, themes...):

Creación de un pluging con el SDK
Una vez instalado Liferay IDE, el primer paso es seleccionar el tipo de pluging que vamos a desarrollar desde la opción "File -> New -> Liferay Pluging Project":

Una vez establecido el nombre del pluging y seleccionado su tipo, aparecerá una ventana para que establezcamos la ruta al directorio en el que hemos descomprimido el fichero zip con el Plugins SDK:

(Casi) inevitablemente obtendremos el siguiente error al seleccionar el directorio:

Este error se debe a no haber configurado correctamente el fichero "build.properties" ubicado en el directorio padre del Plugings SDK.
Para ello se recopienda copiar el fichero como "build.{username}.properties" y hacer las modificaciones sobre esta nueva versión. Las claves a tener en cuenta para verificar si las rutas son correctas en nuestro sistema de directorios son:
# # Specify the application server type. # app.server.type=tomcat # # Specify the application server parent directory. # #app.server.parent.dir=${sdk.dir}/../bundles app.server.parent.dir=C:/liferay-ce-portal-7.0-ga3 # # Specify the paths to an unzipped Tomcat bundle. # app.server.tomcat.dir=${app.server.parent.dir}/tomcat-8.0.32
Fijaos en las líneas en letra roja, que muy posiblemente tengáis que modificar para 1) establecer el directorio padre de nuestro tomcat y 2) el directorio del tomcat que podría variar si vamos descargando versiones superiores.
Tras este cambio en el fichero "build.{username}.properties" y reiniciando Eclipse, Liferay IDE reconocerá el Plugins SDK y no se mostrará el error anterior:

Configuración de ivy-settings.xml
Al pulsar sobre "Finish" en la ventana anterior, comenzará el proceso de descarga de dependencias del proyecto.
Los repositorios y dependencias se encuentra en el fichero "ivy-settings.xml" ubicado en el directorio padre de Plugins SDK.
Nos encontraremos ahora con otro problema debido a que el repositorio desde el que se intenta descargar las dependencias es un repositorio privado de Liferay del que no tenemos usuario y contraseña. Tras un tiempo de espera, obtendremos una traza de error indicando que ivy no ha sido capaz de conectarse a los repositorios de descarga. Para solventar este asunto, deberemos modificar el fichero anterior.
El contenido del fichero "ivy-settings.xml" es:
<ivysettings> <settings defaultResolver="default" /> <credentials host="repository.liferay.com" passwd="${ivy.repository.liferay.private.password}" realm="Sonatype Nexus Repository Manager" username="${ivy.repository.liferay.private.username}"/> <resolvers> <ibiblio m2compatible="true" name="liferay-private" root="${ivy.repository.liferay.private.url}"/> <ibiblio m2compatible="true" name="liferay-public" root="https://cdn.lfrs.sl/repository.liferay.com/nexus/content/groups/public" /> <ibiblio m2compatible="true" name="local-m2" root="file://${user.home}/.m2/repository" /> <chain dual="true" name="default"> <resolver ref="local-m2" /> <resolver ref="liferay-public" /> <resolver ref="liferay-private" /> </chain> </resolvers> </ivysettings>
Y lo sustituiremos por este otro que accede al repositorio público correcto de Liferay (en rojo los cambios):
<ivysettings> <settings defaultResolver="default" /> <!-- credentials host="repository.liferay.com" passwd="${ivy.repository.liferay.private.password}" realm="Sonatype Nexus Repository Manager" username="${ivy.repository.liferay.private.username}" / --> <resolvers> <!-- ibiblio m2compatible="true" name="liferay-private" root="${ivy.repository.liferay.private.url}" / --> <ibiblio m2compatible="true" name="liferay-public" root="https://repository.liferay.com/nexus/content/repositories/public/" /> <ibiblio m2compatible="true" name="local-m2" root="file://${user.home}/.m2/repository" /> <chain dual="true" name="default"> <resolver ref="local-m2" /> <resolver ref="liferay-public" /> <!-- resolver ref="liferay-private" / --> </chain> </resolvers> </ivysettings>

