es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se ha establecido una versión para el comando java – asdf.

Ahora estoy utilizando asdf en mi máquina Lubuntu en un entorno de bash y me aparece el siguiente mensaje:

stephane@stephane-pc:~/dev$ cd
No se estableció una versión para el comando java
Considera agregar una de las siguientes versiones en tu archivo de configuración en
java adoptopenjdk-15.0.2+7

Solo tengo un proyecto asdf ubicado en el directorio ~/work/example/dev/ExampleBooster:

12:07 $ cat .tool-versions
java adoptopenjdk-15.0.2+7
nodejs 12.13.1
tflint 0.28.1
terraform-validator 3.1.3
packer 1.7.2
terraform 0.15.3
adr-tools 3.0.0
pre-commit 1.21.0
maven 3.8.4

Mi archivo de configuración asdf ~/dev/commands/asdf.config.sh contiene:

#!/bin/bash -x

source $HOME/.asdf/asdf.sh
source $HOME/.asdf/completions/asdf.bash

Configuración de la variable JAVA_HOME

. ~/.asdf/plugins/java/set-java-home.bash

Si asdf proporciona el complemento para maven, entonces utiliza el complemento en lugar de maven del sistema, si existe

if asdf current maven > /dev/null 2>&1; then
export MAVEN_HOME=$(asdf where maven)
export PATH=$PATH:$MAVEN_HOME/bin
fi

ACTUALIZACIÓN: Añadí la línea java adoptopenjdk-15.0.2+7 en el archivo ~/.tool-versions y eso resolvió el problema.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El problema mencionado es que al intentar ejecutar el comando java en un entorno bash, asdf no puede encontrar una versión para usar. La solución sugerida es agregar una de las versiones disponibles al archivo ~/.tool-versions, que en este caso es adoptopenjdk-15.0.2+7.

    El archivo ~/.tool-versions lista las versiones de software que están relacionadas con el proyecto actual, y asdf utilizará las versiones especificadas al ejecutar los comandos correspondientes. En este caso, el comando java utilizará la versión adoptopenjdk-15.0.2+7 especificada en el archivo .tool-versions.

    El archivo de configuración de asdf ~/dev/commands/asdf.config.sh se utiliza para configurar las variables de entorno utilizadas por asdf. Éste incluye los archivos ~/.asdf/asdf.sh y ~/.asdf/completions/asdf.bash, que forman parte de la instalación de asdf. Además, establece la variable JAVA_HOME mediante la ejecución del script set-java-home.bash proporcionado por el complemento asdf-java. Por último, si el complemento asdf maven está instalado y en uso, el script establece la variable MAVEN_HOME en consecuencia.

    En resumen, el problema de asdf al no encontrar una versión de Java para usar se resolvió añadiendo la versión apropiada al archivo .tool-versions, y el archivo de configuración de asdf establece las variables de entorno necesarias para que asdf funcione correctamente.

Comments are closed.