运行任何Java应用程序或仅运行“java”时,jvm都会失败:



以下是错误答案的列表:

  • 正确的Java主目录(包括/bin目录)位于全局PATH
  • JAVA_HOME设置正确
  • 执行命令java -fullversion可以正常工作
    $ java -fullversion
    
    ./java full version "1.7.0_05-b05"
    
  • /usr/java中的符号链接(symbolic link)都指向正确的Java安装
  • 创建系统
  • 时我没有安装任何“默认” java
  • java -version失败...与上述
  • 相同的错误
  • 从java安装目录结构下发出命令也不起作用
  • 这是64位
  • 的64位Java

    有任何想法吗?

    最佳答案

    此问题源于Java安装不正确。

    可能性1



    Java标准库包含在各种JAR中,例如rt.jardeploy.jarjsse.jar等。打包JRE时,这些关键的JAR文件用Pack200压缩并存储为rt.packdeploy.packjsse.pack等。应该使用Java安装程序解压缩它们。如果遇到此错误,显然没有发生。

    您需要在JRE的unpack200.pack文件夹中的所有lib/文件上手动运行 lib/ext/

    视窗

    要解压缩一个.pack文件(例如rt.pack),请运行:

    "%JAVA_HOME%\bin\unpack200" -r -v rt.pack rt.jar
    

    要递归解压缩所有.pack文件,请从JRE根目录运行:

    for /r %f in (*.pack) do "%JAVA_HOME%\bin\unpack200.exe" -r -q "%f" "%~pf%~nf.jar"
    

    *尼克斯

    要解压缩一个.pack文件(例如rt.pack),请运行:

    /usr/bin/unpack200 -r -v rt.pack rt.jar
    

    要递归解压缩所有.pack文件,请从JRE根目录运行:

    find -iname "*.pack" -exec sh -c "/usr/bin/unpack200 -r -q {} \$(echo {} | sed 's/\(.*\.\)pack/\1jar/')" \;
    

    可能性2

    您以其他方式错误安装了Java。也许您是在没有管理员权限的情况下安装的,或者只是尝试从安装程序中提取文件。使用安装程序和/或更多特权重试。或者,如果您不想使用安装程序,请改用.tar.gz Java软件包。

    07-26 08:47
    查看更多