# Instalación de Java

<p class="callout warning">Ancestris necesita Java y es compatible con las versiones 8 a 21 de Java.</p>

<p class="callout info">**Si Ancestris no se inicia** o muestra la pantalla de bienvenida de Ancestris y se detiene, generalmente está relacionada con un problema con la instalación de Java. O Java <span style="text-decoration: underline;">no está instalado</span> o <span style="text-decoration: underline;">Ancestris no lo encuentra</span> o <span style="text-decoration: underline;">encuentra una versión incompatible</span> o <span style="text-decoration: underline;">encuentra una versión dañada.</span></p>

<p class="callout success">Las secciones siguientes ofrecen una comprobación paso a paso para asegurarse que Ancestris está utilizando una versión válida de Java 8.</p>

## Principio general

- **Necesita un Entorno de Ejecución de Java (JRE)**. El JDK (Java Development Kit) no es necesario, pero como el JDK incluye un JRE, un JDK solo también es suficiente.
- **Ancestris funciona con las versiones de Java enumeradas anteriormente**. Está compilado en la versión 8 para una mejor compatibilidad con la mayoría de usuarios. Ha sido probado con varias versiones que son versiones LTS (Long Term Support). No comprobamos las versiones a Corto Plazo que están obsoletas y no se pueden descargar después de 18 meses, sin embargo, algunos usuarios confirman regularmente que Ancestris funciona bien con todas las versiones de Java.
- **Se puede instalar Java desde cualquier proveedor**: Oracle, OpenJdk o **[Adoptium](https://adoptium.net/).**
- **Si opta por una distribución gratuita**, deberá indicarle a Ancestris dónde está su instalación. En este caso, **como se** **indica a continuación,** elimine el comentario de la línea `jdkhome` en el archivo de configuración `ancestis.conf` ubicado en el directorio "`etc`" de su instalación de Ancestris y establezca la ruta adecuada.

## Identificar que versión de Java está establecida de forma predeterminada

Si no sabe si Java está instalado o qué versión está instalada, visite: [la página oficial de explicación detallada](https://www.java.com/en/download/help/version_manual.xml "Identifique que versión de Java está establecida") o abra directamente un terminal de línea de comandos y escriba en la línea de comandos:

```
java -version
```

<p class="callout info">Existen métodos alternativos para MacOS y Windows.  
 - para sistema MacOS, [comprobar las instrucciones paso a paso](https://docs.ancestris.org/books/gu%C3%ADa-del-usuario/page/instalaci%C3%B3n-paso-a-paso-en-macos-%28sl%29#bkmrk-knowing-which-java-v "Instalación paso a paso en MacOS").  
 - para sistema Windows, [comprobar las instrucciones paso a paso](https://docs.ancestris.org/books/gu%C3%ADa-del-usuario/page/instalaci%C3%B3n-paso-a-paso-de-la-versi%C3%B3n-11-en-windows-%28sl%29#bkmrk-knowing-which-java-v "Instalación paso a paso de la versión 11 en Windows").</p>

- **Si ve un mensaje de error en el terminal,** entonces Java no está instalado en su sistema. Ancestris no puede continuar. [Siga la sección instalar](#bkmrk-install-java "Instalar Java") a continuación para instalar Java 1.8 y luego inicie Ancestris.
- **Si ve algo como esto donde se muestra Java 1.8**, significa que tiene la versión adecuada instalada y establecida de forma predeterminada.

```
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
```

De acuerdo con la pantalla anterior, podemos ver que la versión de Java instalada establecida por defecto es la versión 1.8, también conocida como versión 8.

Si Ancestris no se inicia, <span style="text-decoration: underline;">Ancestris no lo encuentra </span>o <span style="text-decoration: underline;">encuentra una versión incompatible</span> o <span style="text-decoration: underline;">encuentra una versión dañada</span>. [Siga las instrucciones para identificar que versión de Java encuentra Ancestris](#bkmrk-identify-which-java--0 "Identifique qué versión de Java encuentra Ancestris").

- **Si ve una versión de Java diferente de 1.8,** significa que tiene otra versión de Java de forma predeterminada.

```
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
```

De acuerdo con la pantalla anterior, podemos ver que la versión de Java instalada establecida por defecto es la versión 10. Ancestris no se ejecutará. [Siga la sección instalar a continuación ](#bkmrk-install-java "Instalar Java") para instalar Java 8.

Una vez hecho esto, tendrá varias versiones de Java instaladas en su sistema.

Si está dispuesto a establecer Java 8 como la versión predeterminada, [siga las instrucciones para establecer la versión Java predeterminada](#bkmrk-identify-which-java- "Establecer la versión predeterminada de Java") en su sistema y, a continuación, iniciar Ancestris.

  
Si prefiere mantener la versión Java establecida tal cual, entonces debe decirle a Ancestris que no utilice la versión predeterminada de Java. [Siga las instrucciones para forzar a Ancestris a utilizar una versión específica de Java ](#bkmrk-forcing-ancestris-to "Force Ancestris to use a specific java version")y luego iniciar Ancestris

## Identifique que versión de Java encuentra Ancestris

Para saber qué versión de Java encuentra Ancestris, deberá comprobar el [archivo de configuración ](https://docs.ancestris.org/books/gu%C3%ADa-del-usuario/page/archivos-de-software-y-archivos-de-configuraci%C3%B3n-de-usuario-%28sl%29 "Archivos de software y archivos de configuración de Usuario")de Ancestris

**1. Compruebe la definición de la línea `default_options`**

Esta línea debería tener este aspecto:

`default_options="--branding ancestris -J-Xms96m -J-Xmx1g --laf javax.swing.plaf.nimbus.NimbusLookAndFeel"`

Si una de las opciones de esta línea incluye `--jdkhome="/path/to/java`, asegúrese que la ruta especificada en esta opción es la ruta de acceso a Java versión 1.8. De lo contrario, edite el archivo de configuración y cámbielo. Luego inicie Ancestris.

Si esta línea no incluye una ruta Java, siga las instrucciones que se indican a continuación.

**2. Compruebe la definición de la línea `jdkhome`**

Si la línea se ve como `jdkhome="/path/to/java"`, a continuación, asegúrese que la ruta especificada en esta opción es la ruta de acceso a Java versión 8. De lo contrario, edite el archivo de configuración y cámbielo. Luego iniciar Ancestris.

Si la línea comienza con el valor "#" o si la línea no existe, significa que la línea no es utilizada por Ancestris y que Ancestris utiliza la versión de Java predeterminada establecida en su sistema.

Si la versión predeterminada comprobada anteriormente era Java 8, significa que la versión de Java 8 instalada podría estar dañada. Intente reinstalarlo con las [Instrucciones de instalación](#bkmrk-install-java "Instalar Java") y reiniciar Ancestris.

---

## Instalar Java

<p class="callout info">Para instalar la versión 8 de Java en su sistema, puede acceder desde [ la página principal de Oracle, ](https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html "Página de descarga de Oracle para Java 8")o más precisamente:[  
<span style="text-decoration: underline;">- </span>](https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html "Página de descarga de Oracle para Java 8")**Versión de uso simple**[: desde la página de descarga de JRE (MacOS, Windows, Linux)  
- ](https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html "Página de descarga de Oracle para Java 8")**Versión para desarrolladores**[: desde la página de descarga de JDK (MacOS, Windows, Linux)](https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html "Página de descarga de Oracle para Java 8").</p>

<p class="callout info">Una forma sencilla de obtener una versión oficial de Java es también obtenerla de [Adoptium.net](https://adoptium.net/releases.html "Latest official Java releases from Adoptium.net")</p>

- Si necesita **saber si su dispositivo puede ejecutar Java**, vaya a esta [página de configuración](http://www.oracle.com/technetwork/java/javase/config-417990.html#os "Configuración requerida para ejecutar Java") para conocer la configuración mínima necesaria. 
    - Si desea **elegir entre todas las versiones disponibles de Oracle Java,** consulte esta [página de versiones disponibles.](http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html "Página de descarga de versiones de Java")
    
    
    - Se recomienda Java Versión 8, ya que es compatible con todas las características de Ancestris.  
        
        - Para obtener los detalles completos sobre cómo instalar la versión 8  
            
            - Para MacOS, ver [JRE 8 Instalación para MacOS](https://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jre.html#CHDGECEB "Instalación de JRE 8 para MacOS").
            - Para Windows, ver [JRE Instalación de para Windows](https://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_jre_install.html#CHDEDHAJ "Instalación de JRE 8 para Windows").
            - Para Linux, ver [JRE Instalación para Linux](https://docs.oracle.com/javase/8/docs/technotes/guides/install/linux_jre.html "Instalación de JRE 8 para Linux").

- - La Versión 11 de Java (o versiones posteriores) es compatible con la mayoría de las funciones de Ancestris.  
        
        - Descargar e instalar [Java Development Kit (JDK) Version 11](https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html "Java Development Kit (JDK) Version 11")
            - Para MacOS, escoja el archivo .dmg.
        - Para obtener detalles completos sobre cómo instalar la versión 11  
            
            - Para MacOS, ver [Instalación de JDK para MacOS](https://docs.oracle.com/en/java/javase/11/install/installation-jdk-macos.html#GUID-2FE451B0-9572-4E38-A1A5-568B77B146DE "Instalación de JDK para MacOS").
            - Para Windows, ver [Instalación de JDK para Windows](https://docs.oracle.com/en/java/javase/11/install/installation-jdk-microsoft-windows-platforms.html#GUID-A7E27B90-A28D-4237-9383-A58B416071CA "Instalación de JDK para Windows").
            - Para Linux, ver [Instalación de JDK para Linux](https://docs.oracle.com/en/java/javase/11/install/installation-jdk-linux-platforms.html "Instalación de JDK para Linux").

- Si **prefiere una versión Java de Código Abierto**, es posible utilizar [OpenJDK](http://openjdk.java.net/ "Descargar OpenJDK") y también puede instalar Java desde la solución gratuita [Adoptium.](https://adoptium.net/ "Adoptium")

## Establecer la versión predeterminada de Java

Los procedimientos dependen de su sistema operativo.

- [Para MacOS](#bkmrk-set-the-default-java "Elegir la versión de Java para MacOS")
- [Para Windows](#bkmrk-swaping-java-version-0 "Elegir la versión de Java para Windows")
- [Para Linux](#bkmrk-swaping-java-version-1 "Elegir la versión de Java para Linux")

### Establecer la versión predeterminada para MacOS

Es posible que la versión de Java que se ejecuta en su sistema sea incompatible con Ancestris, por lo que no se ejecutará.

Si desea mantener su versión actual de Java y ejecutar, por ejemplo, la versión 8 de Java (también conocida como 1.8), al mismo tiempo, debe intercambiar las versiones de Java.

Para alternar entre diferentes versiones de Java, abrir una ventana de Terminal y segir los pasos que se indican a continuación.

En el ejemplo siguiente, las instrucciones le permiten establecer la versión 8 (también conocida como 1.8) de forma predeterminada, sin eliminar Java Versión 10:

**1/6 - Comprobar que versión de Java está establecida de forma predeterminada**

```
java -version
echo $jdkhome
```

Se puede ver la versión de Java que se está ejecutando.

**2/6 - Obtener una lista de todas las versiones instaladas en el sistema y comprobar si la versión 8 u 11 está entre ellas**

```
/usr/libexec/java_home -V
```

Si la versión que desea no está en la lista, instálela como se explica en [esta sección](https://docs.ancestris.org/books/user-guide/page/java-installation#bkmrk-install-java).

Si está en la lista, pero no es la de antes, forzar la ruta a la versión java con el siguiente paso.

**3/6 - Escribir las dos líneas siguientes en el Terminal**

```
echo 'export JAVA_HOME=`/usr/libexec/java_home -v 1.8`' >>~/.bash_profile
echo 'export jdkhome==`/usr/libexec/java_home -v 1.8`' >>~/.bash_profile
```

Estas dos líneas añadirán el comando para establecer su versión Java predeterminada en su perfil personal. Aquí, forzamos la versión 1.8 (u 8). Reemplazarlo con su versión Java.

La primera línea define la versión Java predeterminada para todos los programas (JAVA\_HOME, en mayúsculas).

La segunda línea define la versión Java predeterminada que se utilizará para Ancestris (jdkhome, en minúsculas).

**4/6 - Cerrar el Terminal**

```
exit
```

**5/6 - Volver a abrir el Terminal y comprobar que Java en ejecución sea ahora la que se desea, (versión 8 en nuestro ejemplo)**

```
java -version
echo $jdkhome
```

Ahora se puede iniciar Ancestris.

**6/6 - Iniciar Ancestris**

Cuando se inicia Ancestris, se abre una ventana Terminal al mismo tiempo.

Se puede ver en la barra de título que Ancestris está utilizando la versión 8 de Java.

### Establecer la versión predeterminada para Windows

Tiene que crear un archivo BAT para la versión Java que desea mantener.

Utilice su editor de texto favorito para crear esos archivos, utilizando el código siguiente, y colóquelos en una carpeta disponible desde su PATH.

**JAVA8.BAT**

```
@echo off
echo Setting JAVA_HOME
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_12
echo setting PATH
set PATH=C:\Program Files\Java\jdk1.8.0_12\bin;%PATH%
echo Display java version
java -version
```

**JAVA11.BAT**

```
@echo off
echo Setting JAVA_HOME
set JAVA_HOME=C:\Program Files\Java\jdk1.11.0_11
echo setting PATH
set PATH=C:\Program Files\Java\jdk1.11.0_11\bin;%PATH%
echo Display java version
java -version
```

Al crear estos archivos, asegúrese de especificar el nombre correcto para los archivos Java para las líneas JAVA\_HOME, en función de la instalación de Java

Cuando se decide cambiar la versión Java, ejecutar el archivo BAT correspondiente: JAVA8 para la versión 1.8 o JAVA11 para la versión 11. La versión Java en uso se mostrará en el Terminal.

Para comprobar si el cambio está realmente en vigor, escribir `java -version` en la consola o revisar [esta página](https://www.java.com/es/download/installed.jsp "Verificar la versión de Java").

Si desea mantener su última versión de Java y forzar el uso de otra versión de Java para Ancestris, tiene que cambiar el [archivo de configuración](https://docs.ancestris.org/books/gu%C3%ADa-del-usuario/page/archivos-de-software-y-archivos-de-configuraci%C3%B3n-de-usuario-%28sl%29 "Archivos de software y archivos de configuración de Usuario"), línea `jdkhome="C:\path\to\java" `

### Establecer la versión predeterminada para Linux

Escribir lo siguiente en la consola :

```
sudo update-alternatives --config java
```

[![en_linux-java-versions.png](https://docs.ancestris.org/uploads/images/gallery/2020-05/scaled-1680-/en_linux-java-versions.png)](https://docs.ancestris.org/uploads/images/gallery/2020-05/en_linux-java-versions.png)

Seleccionar de la lista la versión necesaria.

Si desea conservar su última versión de Java y forzar el uso de otra versión de Java para Ancestris, debe cambiar el [archivo de configuración](https://docs.ancestris.org/books/gu%C3%ADa-del-usuario/page/archivos-de-software-y-archivos-de-configuraci%C3%B3n-de-usuario-%28sl%29 "Archivos de software y archivos de configuración de Usuario"), línea `jdkhome="/path/to/java" `

Para obtener ayuda usar esta herramienta:

```
sudo update-alternatives -l
```

## Forzar Ancestris a utilizar una versión específica de Java

Sea cual sea el sistema operativo, si la versión Java activa predeterminada es diferente de la que se utilizará con Ancestris, se debe modificar el [archivo de configuración](https://docs.ancestris.org/books/gu%C3%ADa-del-usuario/page/archivos-de-software-y-archivos-de-configuraci%C3%B3n-de-usuario-%28sl%29 "Archivos de software y archivos de configuración de Usuario") de la siguiente manera:

```
jdkhome="/path/to/java"
```

##### Case of Windows and Linux

Para Windows o Linux, por ejemplo, si el ejecutable de java es /usr/java/jdk1.8.0\_291-amd64/bin/java, entonces se debe indicar

```
jdkhome="/usr/java/jdk1.8.0_291-amd64/"
```

Nota: debe excluir /bin/java en la descripción de la ruta.

##### Caso de MacOS

Para MacOS, si por ejemplo Java 18 y Java 17 están instalados en Mac y se quiere forzar el uso de Java 17 para Ancestris, la manipulación completa para forzar la versión de Java sería la siguiente:

- Editar el archivo de configuración de la aplicación Ancestris  
    `/Applications/Ancestris.app/Contents/Resources/ancestris/etc/ancestris.conf`
- Buscar la línea `#jdkhome="/chemin/vers/java"` y suprimir el carácter inicial # para descomentar la línea para que Ancestris la tenga en cuenta.
- Reemplazar el valor por la ruta de Java que se desea usar, por ejemplo temurin-17 aquí, de modo que la línea se lea:

<div id="bkmrk--0"><div><div><div><div><div><div><div><div><div><div class="CodeMirror cm-s-default" translate="no"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 5px; left: 554.6px;"><textarea readonly="readonly" spellcheck="false" style="position: absolute; bottom: -1em; padding: 0px; width: 1px; height: 1em; min-height: 1em; outline: none;" tabindex="0" wrap="off"></textarea>  
</div></div></div></div></div></div></div></div></div></div></div></div>```
jdkhome="/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home"
```

- Guardar el archivo ancestris.conf modificado y comprobar que se ha guardado correctamente.
- Reiniciar Ancestris.

##### Puntos de atención sea cual sea su sistema operativo

<p class="callout danger">**Advertencia 1** : Si el directorio java no existe, en este caso `temurin-17.jdk` en el ejemplo anterior, entonces Ancestris no se iniciará porque no encontrará Java.  
</p>

<p class="callout danger">**Advertencia 2**: Si la línea `jdkhome` también está definida en el archivo de configuración personalizado de Ancestris, su valor tendrá prioridad sobre el del archivo de configuración de la aplicación. Ver la página correspondiente del [archivo de configuración](https://docs.ancestris.org/books/user-guide/page/software-files-and-user-settings-files#bkmrk-the-configuration-fi "Where are the configuration files ?") de Ancestris.</p>

<div id="bkmrk--3"><div><div>  
</div></div></div>