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.
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 esadoptopenjdk-15.0.2+7
.El archivo
~/.tool-versions
lista las versiones de software que están relacionadas con el proyecto actual, yasdf
utilizará las versiones especificadas al ejecutar los comandos correspondientes. En este caso, el comandojava
utilizará la versiónadoptopenjdk-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 porasdf
. Éste incluye los archivos~/.asdf/asdf.sh
y~/.asdf/completions/asdf.bash
, que forman parte de la instalación deasdf
. Además, establece la variableJAVA_HOME
mediante la ejecución del scriptset-java-home.bash
proporcionado por el complementoasdf-java
. Por último, si el complementoasdf
maven
está instalado y en uso, el script establece la variableMAVEN_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 deasdf
establece las variables de entorno necesarias para queasdf
funcione correctamente.