Al intentar utilizar la versión de Linux de Oracle JDK en la más reciente de Windows 10 build tener soporte para bash, estoy corriendo en un problema con el indicador de colgar siempre tratando de invocar el java binario.

Escribir incluso algo tan simple como java -version se bloquea y tengo que terminar el proceso para recuperar el control.

Alguien tiene este trabajo todavía?

  • Realmente no estoy seguro de lo que estás tratando de hacer. Hay una versión de Windows de la versión de JDK disponible – ¿por qué estás usando la versión de Linux? Nos puedes contar un poco más acerca de qué es lo que estás haciendo?
  • También me gustaría saber como algunos de nosotros en la oficina se han hecho con éxito la instalación de Windows 10 y algunos de nosotros conseguir la caída.
  • Yo no trate de Oracle JDK pero he instalado Ubuntu propia openjdk-jre-sin cabeza y funciona bien. Quizás Oracle JDK depende de cabeza, pero bash es sólo CLI?
  • Usted necesitará iinstall el Windows JDK/JRE. La instalación de Ubuntu el comando de shell de no hacer el Linux JDK/JRE que se ejecutan en Windows.
  • el windows JDK es inaccesible dentro de la shell de bash. en realidad, tanto los entornos están aislados unos de otros, tal y como yo lo lea. para cruzar el uso de sus utilidades están fuera de cuestión
  • sí openJDK es mi próxima apuesta, pero estaba esperando a ejecutar algunos de hadoop binarios que funcionan bien con oracle JDK
  • en realidad estaba esperando que, no es la versión de windows de la shell de bash simplemente un contenedor de proporcionar un linux kernel compatible con la interfaz para todas sus nativo de ubuntu utilidades. entonces, ¿por qué debería JDK ser diferente
  • Lo intenté de nuevo. Incluso OpenJDK no funcionar completamente. Puede ejecutar un simple comando javac, pero si intenta compilar cualquier archivo que se cuelga de nuevo.
  • Mis intentos han terminado mal con apt-get problemas tratando de resolver /proc. El Oracle JRE extractos bien, pero no se ejecuta.
  • echa un vistazo a la discusión en el github.com/Microsoft/BashOnWindows/issues/49. Parece que el problema con el valor predeterminado-jdk ha sido resuelto y puede intentar apt-get it. También lo es que el problema que usted está mencionando acerca de /proc?
  • puedes ajustar tu respuesta ya que esto es ahora posible.

10 Comentarios

  1. 63

    Quería aclarar que a partir del 9 de diciembre de 2016, usted seguramente puede instalar Java 8 en Ubuntu Bash para Windows 10, y que @Karl Horton es correcta.

    Necesitará instalar descomprimir sudo apt-get install unzip

    Copia este script en algún lugar en el bash de sesión de windows y hacerlo ejecutable (chmod +x archivo). Si usted no utilice una línea de comandos basada en el editor como vim, a continuación, usted tendrá windows finales de línea para tratar con. usted puede utilizar dos2unix o su manera preferida de lidiar con eso. Me acabo de pegar en un archivo con vim.

     #!/bin/bash
    set -ex
    # UPDATE THESE URLs
    export JDK_URL=http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
    export UNLIMITED_STRENGTH_URL=http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip
    # Download Oracle Java 8 accepting the license
    wget --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" \
    ${JDK_URL}
    # Extract the archive
    tar -xzvf jdk-*.tar.gz
    # clean up the tar
    rm -fr jdk-*.tar.gz
    # mk the jvm dir
    sudo mkdir -p /usr/lib/jvm
    # move the server jre
    sudo mv jdk1.8* /usr/lib/jvm/oracle_jdk8
    # install unlimited strength policy
    wget --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" \
    ${UNLIMITED_STRENGTH_URL}
    unzip jce_policy-8.zip
    mv UnlimitedJCEPolicyJDK8/local_policy.jar /usr/lib/jvm/oracle_jdk8/jre/lib/security/
    mv UnlimitedJCEPolicyJDK8/US_export_policy.jar /usr/lib/jvm/oracle_jdk8/jre/lib/security/
    sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/oracle_jdk8/jre/bin/java 2000
    sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/oracle_jdk8/bin/javac 2000
    sudo echo "export J2SDKDIR=/usr/lib/jvm/oracle_jdk8
    export J2REDIR=/usr/lib/jvm/oracle_jdk8/jre
    export PATH=$PATH:/usr/lib/jvm/oracle_jdk8/bin:/usr/lib/jvm/oracle_jdk8/db/bin:/usr/lib/jvm/oracle_jdk8/jre/bin
    export JAVA_HOME=/usr/lib/jvm/oracle_jdk8
    export DERBY_HOME=/usr/lib/jvm/oracle_jdk8/db" | sudo tee -a /etc/profile.d/oraclejdk.sh

    Y ahora puedo hacer lo siguiente

    [email protected]-LTL6MIC:~$ java -version
    java version "1.8.0_112"
    Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
    Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)                                                

    Los vínculos y las versiones de la secuencia de comandos anterior son propensos a estar fuera de fecha por el tiempo de leer esto, así que sólo la cabeza a http://www.oracle.com/technetwork/java/javase/downloads/index.html aceptar la licencia para que sus js le permite copiar la Url y usted debe ser bueno para ir.

    • Se debe añadir que unzip se requiere para esta secuencia de comandos (ya que no se instala por defecto)
    • Obtener un extraño huésped problema sudo: unable to resolve host DESKTOP-6PMR0AI en un equipo de amigos.
  2. 61

    Parece que en 2017 de agosto, la solución es más simple como sugerido por @noah-david.

    Pude instalar Oracle JDK 8 de la «WebUpd8» repositorio de equipos de.

    Instrucciones. Para añadir el repositorio:

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update

    A instalar:

    sudo apt-get install oracle-java8-installer 
    sudo apt install oracle-java8-set-default

    Después de instalar

    [email protected]-win:/mnt/c/work$ java -version
    java version "1.8.0_144"
    Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
    Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
    [email protected]-win:/mnt/c/work$ which java
    /usr/bin/java
    [email protected]-win:/mnt/c/work$ uname -a
    Linux amanta-win 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 
    x86_64 x86_64 x86_64 GNU/Linux
    • Acordado este es ahora el mejor enfoque. El oráculo-java8-installer requiere en primer lugar la adición de la webupd8team ppa: sudo add-apt-repository ppa:webupd8team/java
    • añadir repositorio devuelve «No se puede agregar el PPA: ‘ppa:~webupd8team/ubuntu/java». ERROR: ‘~webupd8team de usuario o de equipo no existe.»
    • tengo el mismo mensaje cuando he escrito mal el nombre del equipo.
    • Tal vez el usuario se borraron porque también he tengan un error de que no existe.
    • Gracias a Oracle, esto NO de trabajo ya cambiaron la concesión de licencias a partir del 16 de abril de 2019 – prefiero utilizar Zulu o servicio correcto en lugar de utilizar este PPA – consulte linuxuprising.com/2019/04/… para obtener más detalles sobre la instalación de Zulu SDK
  3. 21

    Me debe faltar algo… todo lo que hice fue:

    sudo apt-get update
    sudo apt-get install default-jdk
    java -version

    de salida:

    java version "1.7.0_131"
    OpenJDK Runtime Environment (IcedTea 2.6.9) (7u131-2.6.9-0ubuntu0.14.04.2)
    OpenJDK 64-Bit Server VM (build 24.131-b00, mixed mode)
    • Esto es como debe ser! La pregunta de Oracle JDK, aunque. Usted está instalando Abrir JDK.
    • Si desea Oracle JDK, escriba sudo apt-get install oracle-java8-installer
    • También, esto no es trabajar en el Subsistema de Windows para Linux. O Subsistema Linux para Windows, sin embargo se le llama.
    • Me corrió sudo apt-get install default-jdk en Windows 10 18.04 con Ubuntu 18.04 y instalado OpenJDK 11.
  4. 8

    He utilizado el script dada por @fieldju pero echaba de menos algunas cosas que el script depende de, y también copiar/pegar el contenido de los resultados en el windows finales de línea/retornos de carro (/r) que se necesita el cambio a linux devuelve. También, me pareció mucho más sencillo para descargar las cremalleras se necesita en primer lugar y los puso junto a la secuencia de comandos. Aquí está una lista completa de lo que hice:

    1. En bash, tipo sudo apt-get install zip unzip para asegurarse de que descomprimir/zip está instalado en su bash consola
    2. Descargar la última versión de Linux de Java JDK desde la sitio web de oracle (tengo un sistema de 64 bits, así que elegimos «Linux x64») y guardarlo en una carpeta en algún lugar en su computadora que usted puede conseguir en el bash NOTA: no cambie el nombre del archivo para asegurarse de que funciona con el script
    3. Descargar el ilimitado de la fuerza política por separado en la misma carpeta que el último zip, de nuevo, asegurándose de mantener el nombre de archivo como-es.
    4. Copie y pegue la siguiente secuencia de comandos en el bloc de notas y guardarlo como java_install_predownloaded.sh en la misma carpeta junto con las cremalleras:

    Guión:

    #!/bin/bash
    # Extract the archive
    tar -xzvf jdk-*.tar.gz
    # mk the jvm dir
    sudo mkdir -p /usr/lib/jvm
    # move the server jre
    sudo mv jdk1.8* /usr/lib/jvm/oracle_jdk8
    # install unlimited strength policy
    mv UnlimitedJCEPolicyJDK8/local_policy.jar /usr/lib/jvm/oracle_jdk8/jre/lib/security/
    mv UnlimitedJCEPolicyJDK8/US_export_policy.jar /usr/lib/jvm/oracle_jdk8/jre/lib/security/
    sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/oracle_jdk8/jre/bin/java 2000
    sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/oracle_jdk8/bin/javac 2000
    sudo echo "export J2SDKDIR=/usr/lib/jvm/oracle_jdk8
    export J2REDIR=/usr/lib/jvm/oracle_jdk8/jre
    export PATH=$PATH:/usr/lib/jvm/oracle_jdk8/bin:/usr/lib/jvm/oracle_jdk8/db/bin:/usr/lib/jvm/oracle_jdk8/jre/bin
    export JAVA_HOME=/usr/lib/jvm/oracle_jdk8
    export DERBY_HOME=/usr/lib/jvm/oracle_jdk8/db" | sudo tee -a /etc/profile.d/oraclejdk.sh

    Este código es una versión modificada de @fieldju que asume las cremalleras son ya descargado y en la misma carpeta que este .sh archivo

    1. porque el archivo tiene el windows retornos de carro que usted necesita para asegurarse de que son reemplazados, por lo que en bash desplácese a la ubicación donde guardó java_install_predownloaded.sh y ejecute el siguiente comando:

      sed 's/^M$//' java_install_predownloaded.sh > java_install_predownloaded_unix.sh

    Yo también corrí el siguiente para asegurarse de que no son, definitivamente, no los finales de línea de windows:

    sed 's/\r$//' java_install_predownloaded_unix.sh > java_install_predownloaded_unix_final.sh

    1. Después de ejecutar esas 2 líneas, un archivo llamado java_install_predownloaded_unix_final.sh estará en la carpeta que es nuestro ‘limpiar’ la versión sin el windows finales de línea, por lo que sólo necesita para ejecutar ./java_install_predownloaded_unix_final.sh en bash y ver la magia suceda. ¡Listo, ahora tienes java instalado en tu bash instancia en windows!
    • Por CIERTO, si crear la secuencia de comandos usando vim, o la línea de comandos basada en el editor de elección, no añadir el windows finales de línea. Sin embargo, si tu con el bloc de notas o algún otro basado en windows, el editor, a continuación, sí para todas tus cosas. Acabo de volver a instalar windows y tuvo que refrigerados a mi propio post para llegar a mi dev env espalda. 🙂
  5. 5

    Parece instalación de JDK8 no está funcionando en el momento de Construir#14316 de servicio de ENVÍO de mensajes. Pero tratando de instalar JDK7 funcionó bien para mí. La exploración de los límites de esta instalación en el momento y se mantendrá publicado.
    La Idea vino de aquí : https://github.com/Microsoft/BashOnWindows/issues/196

    • Mi apuesta es que tiene algo que ver con el nuevo JavaFX interfaz de usuario de cosas (en tiempo de ejecución predeterminado en Java 8). Java 7 soporta JavaFX, pero el frasco no se carga por defecto.
    • Como una actualización de estado a este para las personas que enfrentan el mismo problema, parece haber sido resuelto por una Actualización de Windows. No puedo ejecutar oracle-jdk8 sin problema.
  6. 5

    Estoy confirmando aquí que Oracle JDK Versión 8u102, x64 para linux es instalable aceptar en Windows 10 Insider Construir 14905, publicado el 16 de agosto de 2016.

    Descargable desde aquí, después de aceptar la licencia

    C:\>systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
    OS Name:                   Microsoft Windows 10 Pro Insider Preview
    OS Version:                10.0.14905 N/A Build 14905

    He seguido las instrucciones aquí: wikiHow Instalar Oracle Java

    $ java -version
    java version "1.8.0_102"
    Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
    Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
    $ javac -version
    javac 1.8.0_102

    No he tenido todavía la oportunidad de realmente el estrés de esta instalación, pero esto es mejor que el anterior, se bloquea.

    • no he probado sus instrucciones de instalación, pero a partir de la instalación de la webupd8team/java ppa no funciona.
  7. 4

    Los pasos que hice para una nueva instalación de Oracle JDK 8 en mi Bash (Windows 10):

    1. sudo apt-get install python-software-properties
    2. sudo add-apt-repository ppa:webupd8team/java
    3. sudo apt-get update
    4. sudo apt-get install oracle-java8-installer
    5. Aceptar licencias

      La instalación de Oracle JDK en el subsistema de Windows para Linux

    Estás hecho! Comprobar la versión de java utilizando java -version y espera que la salida debe ser algo como esto:

    java version "1.8.0_151"
    Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

    P. S. En el momento de escribir esto, la versión estable de Oracle 9 JDK ha sido lanzado, probablemente se podría ajustar el paso 4 anterior.


    Referencia: https://poweruphosting.com/blog/install-java-ubuntu/

  8. 1

    Esto funcionó para mí. Aunque, no me gusta la adición de estos extraños repositorios. Linuxuprising?
    Sería genial si Microsoft iba a arreglar eso.

    sudo add-apt-repository ppa:linuxuprising/java
    sudo apt update
    sudo apt install oracle-java10-installer
  9. 0

    Parece que el problema se produjo con el java de oracle versión, tengo que descargar el openJDK versión y ahora trabajo

    • Hum, De hecho, probablemente provienen de la versión de java, Java 7, pero Java 8 no.
  10. 0

    puede trabajar para Insider Preview build 14905, pero se cuelga en Windows 10 Pro construir 14393. Una buena parte del problema es que Microsoft está utilizando Ubuntu 14.0.4. 14.10 o más tarde sería probablemente mejor soporte de Java 8.

Dejar respuesta

Please enter your comment!
Please enter your name here