|
|
> IMPORTANTE: El SEDICI de la Universidad Nacional de la Plata aconseja utilizar la versión 6.3 de DSpace en lugar de la 6.0, ya que, a esta última, la consideran muy vieja y con muchísimos problemas de funcionamiento y, quizás, algunos de seguridad.
|
|
|
|
|
|
***
|
|
|
## Índice
|
|
|
* [Para tener en cuenta](#para-tener-en-cuenta)
|
|
|
* [Actualización de la estructura de base de datos automatizada](#actualización-de-la-estructura-de-base-de-datos-automatizada)
|
|
|
* [Re-indexar automáticamente todo el contenido](#re-indexar-automáticamente-todo-el-contenido)
|
|
|
* [Probar el proceso de actualización](#probar-el-proceso-de-actualización)
|
|
|
* [Requisitos mínimos para migrar a DSpace 6.3](#requisitos-mínimos-para-migrar-a-dspace-63)
|
|
|
* [Cambios significativos de DSpace 6.3](#cambios-significativos-de-dspace-63)
|
|
|
* [Cambio del archivo buil.properties por local.cfg](#cambio-del-archivo-builproperties-por-localcfg)
|
|
|
* [Cita en PDF](#cita-en-pdf)
|
|
|
* [Eliminación de Legacy Search Engine y Legay Browse System](#eliminación-de-legacy-search-engine-y-legay-browse-system)
|
|
|
* [Eliminación del soporte con SRB](#eliminación-del-soporte-con-srb)
|
|
|
* [Grupos de usuarios](#grupos-de-usuarios)
|
|
|
* [Generación de miniaturas](#generación-de-miniaturas)
|
|
|
* [Creación de handles](#creación-de-handles)
|
|
|
* [Estadísticas de uso de Elasticsearch](#estadísticas-de-uso-de-elasticsearch)
|
|
|
* [Pasos para migrar a DSpace 6.3](#pasos-para-migrar-a-dspace-63)
|
|
|
* [Solución y Errores encontrados](#solución-y-errores-encontrados)
|
|
|
* [Pasos del RID para migrar DSpace](#pasos-del-rid-para-migrar-dspace)
|
|
|
* [Errores en la compilación](#errores-en-la-compilación)
|
|
|
|
|
|
## Para tener en cuenta
|
|
|
### Actualización de la estructura de base de datos automatizada
|
|
|
Las migraciones de datos ahora están AUTOMATIZADAS (usando FlywayDB). Esto significa que no se necesita ejecutar manualmente scripts SQL. En cambio, la primera vez que ejecute DSpace, actualizará automáticamente la estructura de su base de datos (según sea necesario) y migrará todos sus datos para que sean compatibles con la versión instalada de DSpace.
|
|
|
> Flyway es una herramienta de migración de base de datos de código abierto. Favorece fuertemente la simplicidad y la convención sobre la configuración. Se basa en solo 7 comandos básicos: Migrar, Limpiar, Información, Validar, Deshacer, Línea base y Reparar. https://flywaydb.org/
|
|
|
|
|
|
### Re-indexar automáticamente todo el contenido
|
|
|
Si la estructura de la base de datos se actualiza, el proceso de migración activará una re-indexación de todo su contenido después de la implementación en Tomcat.
|
|
|
|
|
|
### Probar el proceso de actualización
|
|
|
Para minimizar el tiempo de inactividad, siempre se recomienda realizar primero una actualización de DSpace utilizando un servidor de desarrollo o prueba. Se deberá tener en cuenta los problemas encontrados (y sus soluciones) antes de intentar actualizar el servidor de producción.
|
|
|
La práctica hace la perfección y minimiza los problemas y tiempo de inactividad. Además, si se está utilizando un sistema de control de versiones, como subversion o git, para administrar sus características o modificaciones desarrolladas localmente, puede realizar todas las actualizaciones en su sistema de control de versiones local en su servidor de Desarrollo y confirmar los cambios. De esa manera, su servidor de producción puede simplemente verificar su código bien probado y actualizado.
|
|
|
|
|
|
## Requisitos mínimos para migrar a DSpace 6.3
|
|
|
| Requerimientos DSpace 5.4 (Actual) | Requerimientos DSpace 6.3 | Acción |
|
|
|
|:-------------------------------------:|:-----------------------------:|------------|
|
|
|
| PostgreSQL 9.1.24 | PostgreSQL 9.4 o superior | Actualizar |
|
|
|
| Java 7 (OpenJDK 7u121-2.6.8-2~deb7u1) | Java 7 o 8 (OpenJDK) | |
|
|
|
| Apache Maven 3.0.4 | Apache Maven 3.0.5 o superior | Actualizar |
|
|
|
| Apache Ant 1.8.2 | Apache Ant 1.8 o superior | |
|
|
|
| Apache Tomcat 7 | Apache Tomcat 7 o superior | |
|
|
|
|
|
|
## Cambios significativos de DSpace 6.3
|
|
|
DSpace 6.3 presenta algunos cambios significativos a tener en cuenta antes de migrar:
|
|
|
|
|
|
### Cambio del archivo buil.properties por local.cfg
|
|
|
El archivo de configuración **build.properties** ha sido reemplazado por un archivo de configuración denominado **local.cfg**. Este archivo permite anular fácilmente cualquier configuración, desde archivos _dspace.cfg_ o modules `/*.cfg`. Para ello, solo restaría copiar el contenido del módulo `/*.cfg` en el **local.cfg** y especificar un nuevo valor. También proporciona opciones de configuración mejoradas como se detalla en la documentación de referencia <https://wiki.duraspace.org/display/DSDOC6x/Configuration+Reference>
|
|
|
|
|
|
El antiguo archivo **build.properties** ya no se usa ni se admite:
|
|
|
* Como parte de la adición de este nuevo esquema de configuración, muchos de los ajustes de configuración en DSpace (principalmente aquellos en módulos `/*.cfg`) tuvieron que ser renombrados o antepuestos con el nombre del módulo. _**Esto significa que ya no se garantiza que las configuraciones 5.x (o inferiores) sean compatibles con 6.x**_. Si es posible, es recomendable comenzar con configuraciones nuevas y mover todas las configuraciones personalizadas localmente al nuevo archivo **local.cfg**.
|
|
|
* Los Usuarios de Tareas de Curación deben tener en cuenta que, los cambios en el soporte de configuración de DSpace, han cambiado significativamente la forma en que funcionan las Propiedades de tareas. Consultar la siguiente documentación para obtener más detalles del Sistema de Curación <https://wiki.duraspace.org/display/DSDOC6x/Curation+System>
|
|
|
|
|
|
### Cita en PDF
|
|
|
Se cambió el nombre del archivo de configuración de la página de portada de citas PDF (de _diffminate-citation.cfg_ a _citation-page.cfg_). Consulte la siguiente documentación para obtener más detalles <https://wiki.duraspace.org/display/DSDOC5x/PDF+Citation+Cover+Page>
|
|
|
|
|
|
### Eliminación de Legacy Search Engine y Legay Browse System
|
|
|
El motor de búsqueda heredado (basado en Apache Lucene, API de código abierto para recuperación de información) y el sistema de navegación heredado (basado en tablas de base de datos) se han eliminado a partir de la versión de DSpace 6.0. Por otro lado, DSpace ahora solo usa Discovery (basado en Apache Solr) para todas las capacidades de Búsqueda y/o Navegación.
|
|
|
|
|
|
### Eliminación de Lightweight Networking Interface (LNI)
|
|
|
Lightweight Networking Interface o _Interfaz de Red Ligera de DSpace (LNI)_, que admite la API WebDAV / SOAP / RPC, se ha eliminado a partir de la versión de DSpace 6.0.
|
|
|
DuraDSpace recomienda usar REST ó SWORD (v1 o v2) como reemplazo. Sin embargo, si aún se necesita, LNI (sin mantenimiento) todavía está disponible en <https://github.com/DSpace/dspace-lni>. Para información más detallada de LNI, ver <https://wiki.duraspace.org/display/DSPACE/LightweightNetworkInterface>
|
|
|
|
|
|
### Eliminación del soporte con SRB
|
|
|
La compatibilidad con el almacenamiento de archivos SRB (**Storage Resource Broker**) se ha eliminado a partir de la versión de DSpace 6.0. Cómo reemplazo, se agregó un nuevo sistema que presenta una opción de almacenamiento de archivos local tradicional (predeterminada) y una opción de almacenamiento de archivos de Amazon S3 (consultar la documentación de la capa de almacenamiento, especialmente [Configuración de Bitstream Store](https://wiki.duraspace.org/display/DSDOC6x/Storage+Layer#StorageLayer-ConfiguringtheBitstreamStore)). Para obtener más información sobre la eliminación de la compatibilidad con SRB, consultar también [DS-3055](https://jira.duraspace.org/browse/DS-3055).
|
|
|
En resumen, la compatibilidad con SRB no contaba con mantenimiento (y aparentemente no se usaba) durante muchos años, y se eliminó junto con sus configuraciones.
|
|
|
|
|
|
### Grupos de usuarios
|
|
|
Los grupos de usuarios **Administrador** y **Anónimo** no se pueden renombrar ni eliminar. Si alguno fuese modificado, se volverá a cambiar de nombre durante la actualización. DSpace depende de estos nombres específicos debido a cambios internos del sistema.
|
|
|
|
|
|
### Generación de miniaturas
|
|
|
Se ha eliminado la generación de miniaturas PDF de XPDF. Utilizar generadores cómo [ImageMagick](https://wiki.duraspace.org/display/DSDOC6x/ImageMagick+Media+Filters) o PDFBox.
|
|
|
|
|
|
### Creación de handles
|
|
|
La estrategia predeterminada para crear nuevos identificadores para elementos versionados ha cambiado. Ver más información en [Identifier Service Override](https://wiki.duraspace.org/display/DSDOC6x/Item+Level+Versioning#ItemLevelVersioning-IdentifierServiceOverride)
|
|
|
|
|
|
### Estadísticas de uso de Elasticsearch
|
|
|
La función de estadísticas de uso de Elasticsearch está en desuso en la versión 6.0. Si bien todavía funciona, y puede continuar usándose, en una futura versión de DSpace se eliminará. Se recomienda utilizar el motor de estadísticas de SOLR predeterminado y/o la integración de DSpace con Google Analytics. Consulte [DS-2897](https://jira.duraspace.org/browse/DS-2897) para más información.
|
|
|
|
|
|
## Pasos para migrar a DSpace 6.3
|
|
|
A continuación se detallan una estimación de pasos que deberían seguirse a la hora de migrar DSpace a la versión 6.3. A medida que se avance con este proceso, se irá documentando el mismo con el objetivo de ayudar a la comunidad Universitaria. La documentación generada deberá publicarse libremente en la wiki del repositorio del RID-UNRN: <https://github.com/crai-unrn/DSpace/wiki>
|
|
|
|
|
|
### 1. Realizar un Backup de nuestro DSpace
|
|
|
Antes de comenzar la actualización, se recomienda crear una copia de seguridad de la instancia de DSpace. Las copias de seguridad son fáciles de recuperar, pero una instalación y/o actualización fallida es muy difícil. Las cosas específicas de DSpace para respaldar son:
|
|
|
* Configuraciones
|
|
|
* Modificaciones del código fuente
|
|
|
* Base de datos y almacén de activos.
|
|
|
* En el servidor que ejecuta DSpace, verificar tareas cron programadas, el contenedor de servlets y la base de datos.
|
|
|
|
|
|
Realizar una copia de seguridad completa del sistema que incluya:
|
|
|
* Base de datos: realizar un snapshot a través del comando `pg_dump` de Postgres.
|
|
|
* Assetstore: Realizar una copia de seguridad del directorio `[dspace]/assetstore`, así como su configuración `[dspace]/config/dspace.cfg` ("_assetstore.dir_" y "_assetstore.dir.#_")
|
|
|
* Personalizaciones: si se posee un código personalizado, como temas, modificaciones y/o scripts, realizar una copia de los mismos.
|
|
|
* Datos estadísticos: Realizar una copia de seguridad de los directorios:
|
|
|
* `[dspace]/elasticsearch`
|
|
|
* `[dspace]/solr/statistics`
|
|
|
|
|
|
### 2. Actualizar los requisitos del servidor
|
|
|
Como se mencionó anteriormente, DSpace 6.3 cuenta con requisitos mínimos de sistema. Ver sección [Requisitos mínimos para migrar a DSpace 6.3](#requisitos-mínimos-para-migrar-a-dspace-63).
|
|
|
|
|
|
### 3. Asegurarse de que la base de datos sea compatible
|
|
|
PostgreSQL 9.4 o superior (con la extensión [pgcrypto](https://www.postgresql.org/docs/9.4/pgcrypto.html) instalada).
|
|
|
|
|
|
### 4. Crear MR para DSpace 6.3
|
|
|
Nuestro repositorio git reside en <https://github.com/crai-unrn/DSpace> y es un fork del repositorio original <https://github.com/DSpace/DSpace>.
|
|
|
La palabra fork se traduce al castellano, dentro del contexto que nos ocupa, como bifurcación. Cuando se realiza un fork de un repositorio, se hace una copia exacta en crudo (en inglés «bare») del repositorio original. Después de hacer fork se dispondrá de dos repositorios git idénticos pero con distinta URL. Estos repositorios son una copia idéntica e independientes que pueden evolucionar de forma autónoma. De hecho, los cambios que se hacen el repositorio original NO se transmiten automáticamente a la copia (fork) y viceversa.
|
|
|
|
|
|
Dicho lo anterior, se deberá:
|
|
|
1. Hacer un checkout de nuestra rama master (Ej: _master-unrn2_)
|
|
|
2. Crear un Merge Request desde git (línea de comandos) o gihutb.
|
|
|
3. Crear una rama nueva llamada `merge-con-ds63`, haciendo referencia a la versión de 6.3 de DSpace.
|
|
|
|
|
|
### 5. Realizar un Merge de DSpace 6.3
|
|
|
Quizás este proceso sea el más largo a la hora de migrar a DSpace 6.3.
|
|
|
Debemos realizar un merge (o fusión) con el tag _dspace-6.3_ del repositorio DSpace original. Una vez hecho lo anterior, se deberá abordar en la verificación de los cambios, resolución de conflictos y otras características provenientes de un merge de tal magnitud.
|
|
|
Fuente: <http://sedici.unlp.edu.ar/bitstream/handle/10915/77354/Documento_completo.pdf?sequence=2&isAllowed=y>
|
|
|
|
|
|
### 6. Reemplazar el archivo build.properties
|
|
|
A partir de DSpace 6.0, el archivo de configuración **build.properties** ha sido reemplazado por un archivo de configuración **local.cfg**. Por lo tanto, cualquier archivo **build.properties** antiguo (o archivos similares `[dspace-source]/*.properties`) SERÁ IGNORADO. Para obtener más información sobre las características de local.cfg, consulte la documentación de [Referencia de configuración](https://wiki.duraspace.org/display/DSDOC6x/Configuration+Reference), más precisamente la sección de [Configuración del archivo **local.cfg**](https://wiki.duraspace.org/display/DSDOC6x/Configuration+Reference#ConfigurationReference-Thelocal.cfgConfigurationPropertiesFile).
|
|
|
|
|
|
### 7. Compilar DSpace
|
|
|
Utilizar el comando `mvn -U clean package`. Esto permitirá instalar los paquetes de mvn, obligando a verificar las versiones faltantes y actualizar los snapshots de los repositorios remotos.
|
|
|
|
|
|
### 8. Actualizar la instalación de DSpace
|
|
|
Parar el servidor Tomcat y actualizar el directorio de instalación de DSpace con el nuevo código (y las librerías).
|
|
|
Este proceso, actualizará automáticamente todos los índices Solr existentes (por ejemplo, para Discovery, Statistics, OAI-PMH) a la última versión. Para instancias grandes, esto puede llevar algo de tiempo, pero es importante asegurarse de que los índices sean utilizables por la última versión de DSpace.
|
|
|
|
|
|
### 9. Actualizar y/o mover las configuraciones al archivo local.cfg
|
|
|
Se recomienda revisar todos los cambios de configuración que existen en el directorio de configuración y sus subdirectorios. Es útil comparar las configuraciones actuales con una comprobación limpia de su versión actual para ver lo que ha personalizado. Una herramienta útil para este propósito podría ser Meld o DiffMerge.
|
|
|
|
|
|
### 10. Decidir qué aplicaciones web de DSpace instalar
|
|
|
DSpace viene con una variedad de aplicaciones web (en [dspace]/webapps), cada una de las cuales proporciona una _interfaz_ diferente:
|
|
|
* **XMLUI**: Esta es la interfaz de usuario basada en XML, basada en Apache Cocoon. Viene con una variedad de temas listos para usar, incluidos Mirage 1 (el predeterminado) y Mirage 2 (basado en Bootstrap). Entre _xmlui_ y _jspui_, es probable que solo se necesite uno.
|
|
|
* **JSPUI**: Esta es la interfaz de usuario basada en JSP, que utiliza Bootstrap.
|
|
|
* **SOLR** (obligatorio): Esta es la aplicación web Apache Solr, que es utilizada por XMLUI y JSPUI (para la funcionalidad de búsqueda y exploración), así como por la interfaz OAI-PMH. Debe instalarse para admitir cualquiera de las interfaces de usuario.
|
|
|
* **OAI**: Esta es la interfaz DSpace OAI y permite la recolección de metadatos y flujo de bits (archivo de contenido), compatible con los protocolos OAI-PMH (Protocolo para la recolección de metadatos) y OAI-ORE (Reutilización e intercambio de objetos)
|
|
|
* **REST**: Esta es la API REST de DSpace
|
|
|
* **SWORD**: Esta es la interfaz DSpace SWORDv1.
|
|
|
* **SWORDv2**: Esta es la interfaz DSpace SWORDv2.
|
|
|
* **RDF**: Esta es la interfaz DSpace RDF que admite datos vinculados (abiertos).
|
|
|
|
|
|
> NOTA: el RID-UNRN utiliza **JSPUI** en lugar de **XMLUI**
|
|
|
|
|
|
### 11. Deploy de las aplicaciones web de DSpace
|
|
|
Si es necesario, copiar las aplicaciones web desde el directorio `[dspace]/webapps` al directorio `[tomcat]/webapps/`.
|
|
|
|
|
|
### 12. Actualizar la base de datos
|
|
|
Paso opcional, pero recomendado para actualizaciones importantes.
|
|
|
A partir de DSpace 5 (y superior), el código de DSpace actualizará automáticamente la base de datos (desde cualquier versión anterior de DSpace). Por defecto, esta actualización de la base de datos se produce automáticamente cuando se reinicie Tomcat (o su contenedor de servlet). Sin embargo, si el repositorio es grande o se está actualizando varias versiones de DSpace a la vez, es posible que se deba realizar la actualización manualmente (ya que podría llevar algún tiempo, de 5 a 15 minutos aproximadamente).
|
|
|
|
|
|
### 13. Reiniciar servidor Tomcat
|
|
|
Probar lo siguiente:
|
|
|
* **Actualización de la base de datos**: si se obvió la actualización manualmente su base de datos en el paso anterior, la base de datos se actualizará automáticamente a la última versión. Esto puede llevar algo de tiempo (segundos a minutos), dependiendo del tamaño del RID, etc. Verificar el registro de DSpace (`[dspace]/log/dspace.log.[Date]`) para obtener información sobre su estado.
|
|
|
* **Re-indexación de todo el contenido para búsqueda/exploración**: al actualizar la base de datos, todo el contenido de nuestro DSpace se volverá a indexar automáticamente para la búsqueda/exploración. Como el proceso puede llevar algo de tiempo (minutos a horas), se realiza en segundo plano; mientras tanto, DSpace puede usarse a medida que el índice se llena gradualmente. Tener en cuenta que no todo el contenido será visible hasta que se complete el proceso de indexación. Nuevamente, podemos revisar el registro de DSpace (`[dspace]/log/dspace.log.[Date]`) para obtener información sobre su estado.
|
|
|
|
|
|
### 14. Push de la rama creada para la migración
|
|
|
Realizar un push de la rama _merge-con-ds63_.
|
|
|
|
|
|
### 15. Deploy en producción
|
|
|
Una vez resuelto todos los conflictos y realizado el test exhaustivo, se deberá llevar a un entorno de producción. Para ello, se deberán realizar todas las tareas que conlleven la base de datos.
|
|
|
|
|
|
### 16. Verificar las tareas Cron y Scheduler
|
|
|
En versiones recientes de DSpace, algunos de los nombres de los scripts han cambiado.
|
|
|
|
|
|
Fuente: https://wiki.duraspace.org/display/DSDOC6x/Upgrading+DSpace
|
|
|
|
|
|
## Solución y Errores encontrados
|
|
|
### Pasos del RID para migrar DSpace
|
|
|
#### 1. Crear la rama en la que vamos a trabajar denominada según la versión elegida
|
|
|
```sh
|
|
|
git checkout -b merge-con-ds63
|
|
|
```
|
|
|
#### 2. Recuperar los commits de upstream
|
|
|
Hacer un fetch del repositorio de Dspace global
|
|
|
```sh
|
|
|
git fetch upstream
|
|
|
```
|
|
|
Si el comando falla o tira el siguiente error **fatal: 'upstream' does not appear to be a git repository**, es porque no se encuentra agregado al fetch.
|
|
|
Corroborar el fetch con el siguiente comando:
|
|
|
```sh
|
|
|
git remote -v
|
|
|
```
|
|
|
Si no se encuentra, agregarlo de la siguiente manera:
|
|
|
```sh
|
|
|
git remote add upstream https://github.com/DSpace/DSpace.git
|
|
|
```
|
|
|
Verificar
|
|
|
```sh
|
|
|
git remote -v
|
|
|
```
|
|
|
Fuente: https://github.com/Esri/developer-support/wiki/Setting-the-upstream-for-a-fork
|
|
|
|
|
|
#### 3. Realizar el merge con el tag _dspace-6.3_
|
|
|
Mergear la rama _merge-con-ds6.3_ con el tag _upstream/dspace-6.3_
|
|
|
```sh
|
|
|
git checkout merge-con-ds6.3
|
|
|
git merge --commit upstream/dspace-6.3
|
|
|
```
|
|
|
|
|
|
#### 4. Resolver conflictos entre las ramas
|
|
|
Si las personalizaciones del repositorio están hechas de acuerdo a las recomendaciones de dspace, es decir, todas ellas se encuentran en la carpeta `dspace/modules` y `dspace/conf`, se podría hacer un upgrade de 5 a 6 simplemente con un merge con `upstream/dspace-6.3`.
|
|
|
Sin embargo, si existen cambios de JSPUI o XMLUI fuera de modules, sería conveniente revisarlos (por ejemplo hacer un diff con un 5x limpio) y pasar a `dspace/modules` lo máximo posible. Luego, intentar hacer el merge, sabiendo que habrá menos conflictos.
|
|
|
|
|
|
#### 5. Compilar DSpace 6.3
|
|
|
```sh
|
|
|
mvn -U clean package
|
|
|
```
|
|
|
|
|
|
### Errores en la compilación
|
|
|
Al momento de compilar el código, salió el siguiente error:
|
|
|
```bash
|
|
|
[INFO] 100 warnings
|
|
|
[INFO] -------------------------------------------------------------
|
|
|
[INFO] -------------------------------------------------------------
|
|
|
[ERROR] COMPILATION ERROR :
|
|
|
[INFO] -------------------------------------------------------------
|
|
|
[ERROR] /home/msanhueza/Repositorios/rid/DSpace/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/V5_0_2014_09_25__DS_1582_Metadata_For_All_Objects_drop_constraint.java:[55,34] method dropDBConstraint in class org.dspace.storage.rdbms.migration.MigrationUtils cannot be applied to given types;
|
|
|
required: java.sql.Connection,java.lang.String,java.lang.String,java.lang.String
|
|
|
found: java.sql.Connection,java.lang.String,java.lang.String
|
|
|
reason: actual and formal argument lists differ in length
|
|
|
[ERROR] /home/msanhueza/Repositorios/rid/DSpace/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/V1_3_9__Drop_constraint_for_DSpace_1_4_schema.java:[54,34] method dropDBConstraint in class org.dspace.storage.rdbms.migration.MigrationUtils cannot be applied to given types;
|
|
|
required: java.sql.Connection,java.lang.String,java.lang.String,java.lang.String
|
|
|
found: java.sql.Connection,java.lang.String,java.lang.String
|
|
|
reason: actual and formal argument lists differ in length
|
|
|
[ERROR] -> [Help 1]
|
|
|
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project dspace-api: Compilation failure
|
|
|
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
|
|
|
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
|
|
|
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
|
|
|
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
|
|
|
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
|
|
|
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
|
|
|
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
|
|
|
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
|
|
|
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
|
|
|
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
|
|
|
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
|
|
|
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
|
|
|
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
|
|
|
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
|
|
|
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
|
|
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
|
|
|
at java.lang.reflect.Method.invoke (Method.java:498)
|
|
|
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
|
|
|
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
|
|
|
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
|
|
|
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
|
|
|
Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure
|
|
|
at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:972)
|
|
|
at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:129)
|
|
|
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
|
|
|
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
|
|
|
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
|
|
|
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
|
|
|
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
|
|
|
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
|
|
|
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
|
|
|
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
|
|
|
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
|
|
|
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
|
|
|
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
|
|
|
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
|
|
|
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
|
|
|
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
|
|
|
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
|
|
|
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
|
|
|
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
|
|
|
at java.lang.reflect.Method.invoke (Method.java:498)
|
|
|
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
|
|
|
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
|
|
|
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
|
|
|
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
|
|
|
[ERROR]
|
|
|
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
|
|
|
[ERROR]
|
|
|
[ERROR] For more information about the errors and possible solutions, please read the following articles:
|
|
|
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
|
|
|
[ERROR]
|
|
|
[ERROR] After correcting the problems, you can resume the build with the command
|
|
|
[ERROR] mvn <goals> -rf :dspace-api
|
|
|
```
|
|
|
#### Posibles soluciones
|
|
|
1. Eliminar la carpeta ~/.md/repository (no sirvió)
|
|
|
2. export MAVEN_OPTS="-Xmx4G" (no sirvió)
|
|
|
3. Setear JAVA_HOME y agregarlo al PATH (no sirvió)
|
|
|
1. export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
|
|
|
2. export PATH=$PATH:$JAVA_HOME/bin
|
|
|
|
|
|
#### Solución definitiva
|
|
|
En las clases que se habían modificado fuera de `dspace/modules` se creó un merge entre lo que tenía y lo propio de la versión de DSpace. De esta forma, había código de más que no era correcto o código repetido.
|
|
|
|
|
|
Compilar la vista con Apache Ant
|
|
|
```sh
|
|
|
ant update
|
|
|
```
|
|
|
|
|
|
Puede ser que falle porque falta instalar la extensión de pgcrypto. Para ello, habilitamos la extensión en la base de datos de DSpace.
|
|
|
```bash
|
|
|
# Login to your "dspace" database as a superuser
|
|
|
sudo su postgres
|
|
|
psql dspace
|
|
|
```
|
|
|
Una vez dentro de la Base de Datos ejecutar el comando:
|
|
|
```bash
|
|
|
# Enable the pgcrypto extension on this database
|
|
|
CREATE EXTENSION pgcrypto;
|
|
|
```
|
|
|
|