AnsweredAssumed Answered

Error al intentar instalar un AMP

Question asked by magarcia_sm on Apr 15, 2015
Latest reply on Apr 21, 2015 by magarcia_sm
Hola

Estamos siguiendo el tema 2 del libro Alfresco Developer, donde lo que intentamos es seguir un ejemplo para externder el modelo. Anteriormente lo realizabamos creando los ficheros XML directametne, pero en esta ocasion queremos apredner como realizarlo mediante la instalación de un fichero AMP en el war de alfresco.

Para ello en el proyecto que estamos realizando en Ecllipse hemos creado las carpetas config/alfresco/extension/model donde hemos dejado el archivo SCModel.xml. Después hemos añadido los archivos someco-model-context.xml y web-client-config-custom.xml en el directorio config/alfresco/extension.

Posteriormente dentro de la carpeta SRC del proyecto hemos creado las caretas Java y web, pero por el momento no hemos incluido ningún archivo aquí.


Hemos añadido el siguiente archivo build.xml que hemos retocado nosotros (no se si estará aquí el fallo)



<?xml version="1.0"?>

<project name="AMP Test2" default="package-amp" basedir=".">
   
    <property name="project.dir" value="."/>
    <property name="build.dir" value="${project.dir}/build"/>
    <property name="config.dir" value="${project.dir}/config"/>
    <property name="jar.file" value="${build.dir}/lib/temp2.jar"/>
    <property name="amp.file" value="${build.dir}/dist/temp2.amp"/>
   
    <target name="mkdirs">
        <mkdir dir="${build.dir}/dist" />
        <mkdir dir="${build.dir}/lib" />
    </target>
   
    <path id="class.path">
        <dirset dir="${build.dir}" />
        <fileset dir="../../lib/server" includes="**/*.jar"/>
    </path>

    <target name="compile">
        <mkdir dir="${build.dir}/classes" />
        <javac classpathref="class.path" srcdir="${project.dir}/src/java" destdir="${build.dir}/classes" />
    </target>
   
    <target name="package-jar" depends="compile">
        <jar destfile="${jar.file}" >
            <fileset dir="${build.dir}/classes" excludes="**/custom*,**/*Test*" includes="**/*.class" />
        </jar>
    </target>
   
    <target name="package-amp" depends="mkdirs, package-jar" description="Package the Module" >
        <zip destfile="${amp.file}" >
            <fileset dir="${project.dir}/build" includes="lib/*.jar" />
            <fileset dir="${project.dir}" includes="config/**/*.*" excludes="**/module.properties" />
           <!–
               <fileset dir="${project.dir}/config/alfresco/module/sdkDemoAmp" includes="module.properties" />
            –>
        </zip>
    </target>

    <target name="update-war" depends="package-amp" description="Update the WAR file.  Set -Dwar.file=…" >
        <echo>Installing SDK Demo AMP into WAR</echo>
        <java dir="." fork="true" classname="org.alfresco.repo.module.tool.ModuleManagementTool">
            <classpath refid="class.path" />
            <arg line="install ${amp.file} ${war.file} -force -verbose"/>
        </java>
    </target>

</project>



Al realizar el Ant-Build en el archivo build.xml del proyecto, se nos genera el archivo amp sin problemas, pero nos da el mensaje



      Warning: skipping jar archive D:\WSEclipse\Alfresco\Alfresco_temp2\build\lib\temp2.jar because no files were included.



El tema es que cuando intentamos instalar el archivo amp en el alfresco.war siguiendo la instrucción

java -jar temp2.jar install temp2.amp alfresco.war -verbose

nos aparece este error y no sabemos por que



"Exception in thread "main" java.lang.NullPointerException
    at sun.launcher.LauncherHelper.getMainClassPromJar<Unknow Source>
    at sun.launcher.LauncherHelper.checkAndLoadMain<Unknow Source>"


¿Alguna idea de porqué puede ser?


Os paso un pantallazo de la estructura del proyecto en Eclipse por si puede aclarar algo.

Quizá algo que esté mal en el archivo build.xml o build.properties?
Agradecería también alguna sitio donde explicase como configurar paso a paso dichos archivos.

Muchas Gracias.

Attachments

Outcomes