Si estás interesado en crear un repositorio maven para guardar las diferentes versiones de tus aplicaciones y que desde ahí te las puedas importar a tu proyecto Maven este ese es tu artículo. En este caso vamos a utilizar Archiva, una apliación de Apache.
Archiva se puede instalar con un ejecutable o como una aplicación dentro de un Tomcat. Nosotros vamos a utilizar el war. Los pasos a llevar a cabo son los siguientes:
- Descargar Tomcat, en este caso versión 6.
- Crear una carpeta llamada “archiva” dentro del directorio raíz del Tomcat, es decir a la misma altura que las carpetas conf, bin, logs… Descargar el war de Archiva y copiarlo en esta nueva carpeta.
- Crear un fichero llamado archiva.xml dentro de la carpeta conf/Catalina/localhost con el siguiente contenido:
- Sustituye “archiva.war” en la etiqueta docBase por el nombre del war descargado. Sustituye el path de tu archivo de base de datos “Derby”. En este caso el path corresponde a C:/derby/archiva, donde archiva es el fichero que se crea automáticamente al crear la conexión de base de datos por primera vez gracias al parámetro create = true.
- Descarga las siguientes librerías: Javax Mail 1.4.7, Javax Mail 1.4.7 y Derby v. 1.10.1.1
- Copia los jar descargados en la carpeta lib del tomcat.
- Para arrancar la aplicación ejecuta “startup.bat” (En el caso de Windows) que está dentro de la carpeta bin, o “startup.sh” en el caso de Linux
- Si te da el siguiente error que estará localizado en el fichero localhost.log dentro de la carpeta logs del tomcat:
GRAVE: Excepción enviando evento inicializado de contexto a instancia de escuchador de clase org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'registry#commons-configuration' defined in null: Could not resolve placeholder 'appserver.base' at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:268) at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:75) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:553) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:527) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:362) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:583) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Tienes que que copiar estas líneas en el fichero application.properties que está dentro del la carpeta de despliegue de archiva en tomcat/webapps/archiva_version_xxxx/WEB-INF/classes/application.properties.
appserver.base=%CATALINA_HOME% appserver.base=%CATALINA_BASE%
- Si aún así no funciona el despliegue por el mismo error, ejecuta la siguiente línea antes de lanzar el startup.bat
set CATALINA_OPTS="-Dappserver.home=%CATALINA_HOME% -Dappserver.base=%CATALINA_HOME%"
Deja tu comentario