https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-lifecycle-aggregator/latest/archetypes/alfresco-amp-archetype/index.html
- Lo primero que se debera hacer es descargar maven en su ultima version 3.1.1
configurar el repositorio y las variables de entorno MAVEN_HOME M2_HOME
Descargar alfresco SDK para la version 4.2.e y configurarlo dentro de eclipse
Una vez realizadas esas tareas que las he explicado antes en otra entrada procedemos a la creacion de nuestro nuevo proyecto
Ingresamos a nuestro workspace configurado previamente en eclipse y ejecutamos el siguiente comando para invocar al arquetipo
$sudo mvn archetype:generate -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml -Dfilter=org.alfresco.maven.archetype:a diferencia de versiones anteriores ahora solo existen dos arquetipos
Choose archetype: 1: https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml -> org.alfresco.maven.archetype:alfresco-amp-archetype (Sample project with full support for lifecycle and rapid development of AMPs (Alfresco Module Packages)) 2: https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml -> org.alfresco.maven.archetype:alfresco-allinone-archetype (Sample multi-module project for All-in-One development on the Alfresco plaftorm. Includes modules for: Repository, AMP, Share, Solr, Web Quick Start and embedded Jetty run)seleccionar la opcion 1 y digitamos los parametros respectivos lo mas importantes son los siguientes
group id : grupo para el proyecto artifact id : nombre del proyecto
los demas parametros se los puede dejar por defecto, al finalizar digitar la opcion "y" para aceptar la configuracion y listo
El siguiente paso es ingresar al proyecto creado y digitar el siguiente comando
# mvn eclipse:eclipseAl ejecutar el comando se genera un error en las dependencias de maven, esto se debe a que las dependencias en el pom.xml estan referenciando a la opcion 4.2.b de alfresco realizamos el siguiente cambio en el archivo pom.xml de nuestro proyecto, para indicarle que la version con la que vamos a trabajar es la version 4.2.e
Una vez hechos estos cambios ejecutamos nuevamente el comando, y esta vez ya no nos generan errores de dependenciasorg.alfresco 4.2.e WARN alf_data_dev alfresco local
# mvn eclipse:eclipsepara finalizar importamos nuestro proyecto en nuestra instancia de eclipse
Verificar las dependencia maven en el caso de las librerias spring-core spring-beans avalon-framework-api
El posible error que se genera es
, org.alfresco:alfresco-data-model:jar:4.2.c (provided), org.alfresco:alfresco-web-client:jar:4.2.c (provided)]: Failed to read artifact descriptor for org.apache.avalon.framework:avalon-framework-api :jar:4.3.1: Could not find artifact org.apache.avalon:avalon-framework:pom:1 in alfresco-public-snapshots (http://maven.alfresco.com/nexus/content/groups/public-snapshots) -> [Help 1] [ERROR]
En el siguiente post les mostrare como configurar nuestro modelo de contenido en el proyecto amp
algunaos comandos maven
mvn validate : nos valida nuestro proyecto
mvn clean : elimina la carpeta target de nuesto proyecto
mvn compile : compila nuestra codigo fuente java
mvn test : nos ejecuta los test de nuestro proyecto
mvn site : nos genera la documentacion de nuestro proyecto pmd, javadoc, etc..
mvn package : nos genera jar o war de nuestro proyecto
mvn install : nos instala nuestro proyecto en nuestro repositorio local
mvn deploy : nos instala nuestro proyecto en un repositorio remoto
mvn install -DskipTests=false : nos installa nuestro proyecto saltando la etapa de test
mvn install -Dmaven.test.skip=true
mvn dependency::tree :
mvn install -Pamp-to-war
mvn install -Pamp-to-war -Dalfresco.client.war=share
mvn clean -Ppurge
mvn install:install-file -Dfile=alfresco-web-framework-commons-4.2.e.jar -DgroupId=org.alfresco -DartifactId=alfresco-web-framework-commons -Dversion=4.2.e -Dpackaging=jar -DgeneratedPom=true
Archivo pom.xml
4.0.0 org.alfresco edmon-sample 1.0-SNAPSHOT edmon-sample AMP project amp Manages the lifecycle of the edmon-sample AMP (Alfresco Module Package) org.alfresco.maven alfresco-sdk-parent 1.0.2 org.alfresco 4.2.e WARN alf_data_dev alfresco org.alfresco 4.2.e local ${alfresco.groupId} alfresco-platform-distribution ${alfresco.version} pom import ${alfresco.groupId} alfresco-repository ${alfresco.version} provided junit junit 4.8.1 test ${alfresco.groupId} alfresco-data-model ${alfresco.version} provided ${alfresco.groupId} alfresco-core ${alfresco.version} provided ${alfresco.groupId} alfresco-web-client ${alfresco.version} provided ${alfresco.groupId} alfresco-web-framework-commons ${alfresco.version} provided org.apache.avalon.framework avalon-framework-api 4.3.1 provided alfresco-public https://artifacts.alfresco.com/nexus/content/groups/public alfresco-public-snapshots https://artifacts.alfresco.com/nexus/content/groups/public-snapshots true daily