在安装JAI 1.1.3时出现“必须安装JRE 1.3或更高版本!”/“必须安装JDK 1.3或更高版本!”的错误(在Windows 7(x64)上)。

8

我在安装JAI(Java高级图像)1.1.3时,在Windows 7(x64)上安装了JRE 7(1.7)位于“C:\ Program Files \ Java \ jre7”,并且安装了JDK 7(1.7)位于“C:\ Program Files \ Java \ jdk1.7.0”时,出现以下错误:

"Severe: JRE 1.3 or higher must be installed!" "Severe: JDK 1.3 or higher must be installed!"

必须安装JRE 1.3或更高版本!

必须安装JDK 1.3或更高版本!

按照http://download.java.net/media/jai/builds/release/1_1_3/INSTALL.html#Windows的指示进行操作:

访问:

下载:

这些文件之间的区别是什么呢?在http://download.java.net/media/jai/builds/release/1_1_3/INSTALL.html#Windows中的说明并不详细,假定你已经知道这些文件的区别。

根据下面的评论,.exe是独占安装,但我希望将它们安装到所有三个位置(“C:\Program Files (x86)\Sun Microsystems\Java Advanced Imaging 1.1.3”以及我的JDK和JRE位置),因为我不确定作为Java开发人员我需要哪一个。据我所知,我只需要安装JDK版本,而.zip是相同内容的手动安装文件。但我不确定!未经证实。

已安装:

  • jai-1_1_3-lib-windows-i586.exe(安装正常)
  • jai-1_1_3-lib-windows-i586-jre.exe <---- 这是导致错误的原因之一。
  • jai-1_1_3-lib-windows-i586-jdk.exe <---- 这是导致错误的原因之一。

这些错误似乎都是找不到Java(JRE和JDK)的安装位置引起的。

我设置了以下环境变量:

  • JAVA_HOME = C:\Program Files\Java\jdk1.7.0
  • Path = ...;C:\Program Files\Java\jdk1.7.0\bin

编辑:这让我想到问题比环境变量更深层次,因为没有像JDK那样的JRE环境变量(即JAVA_HOME),对吧?

我尝试过的解决方法(都无效):

  • 重新安装*。
  • 重新下载并重新安装*。
  • 将“C:\ Program Files \ Java \ jre7 \ bin”添加到“Path”中并重新安装*。
  • 将“C:\ Program Files \ Java \ jre7”添加到“Path”中,而不删除上述路径添加,并重新安装*。
  • 将“C:\ PROGRA〜1 \ Java \ jre7”添加到“Path”中,并验证它是正确的文件夹,并重新安装*。
  • 将JAVA_HOME从“C:\ Program Files \ Java \ jdk1.7.0”更改为“C:\ PROGRA〜1 \ Java \ JDK17〜1.0”,并验证它在Windows中正确地返回到原始文件夹,并重新安装*。
  • 将Java重新安装到非空间文件夹“C:\ xxx \ xxx \ jdk1.7.0”,其中x是字母而不是空格,并使用“java-version”命令行验证它是否正常工作,并重新安装**。

*下载并安装jai-1_1_3-lib-windows-i586-jre.exe

**下载并安装jai-1_1_3-lib-windows-i586-jdk.exe

这些都没用。 :(

我没有尝试过:

  • 使用旧版本的JRE(1.7)

任何帮助都将是伟大的。

可能的(黑客)解决方案:手动安装怎么样?这就是我们在工作中选择的方法。是否可以找出已安装的文件(因为我不能安装它)?

编辑:我还验证了“JAI(Java高级图像)Image I / O”在我的系统上存在相同的问题。


打开命令提示符...输入javac -version。 - Delta
还有,“PATH”环境变量的值是什么? - Delta
Delta,我已经更新了"Path"环境变量的设置。 - Xonatron
在jdk1.6.0_22_x32和jdk1.6.0_22_x64中安装jai-1_1_3-lib-windows-i586-jdk.exe时没有遇到任何问题。我的操作系统也是Windows 7 x64。 - Martin Gamulin
谢谢 mgamulin,我不确定我缺少了什么。 :( - Xonatron
显示剩余7条评论
5个回答

6
JAI仅适用于32位(x86)JRE,因此您需要在Windows 7上安装32位JRE。JAI使用一些本地实现(dlls)来加速处理,因此仅在32位JRE上安装。安装JAI时,它会尝试检测已安装的JRE,并应该是32位JRE。您可以在Windows 7 x64上安装32位JRE,唯一的“区别”是性能和Java应用程序可用的最大内存。从http://www.oracle.com/technetwork/java/javase/downloads/java-se-jre-7-download-432155.html安装JAva 7 JRE 32bit,选择“Windows x86离线”。另一种方法是从JAI手动安装zip,使用jai-1_1_3-lib-windows-i586.jar.zip并从32位JRE执行。

我将测试手动安装JAI(到我的64位JDK安装)并回复您。请注意OP上的评论,其中说:“在jdk1.6.0_22_x32和jdk1.6.0_22_x64中安装了jai-1_1_3-lib-windows-i586-jdk.exe,没有问题。我的操作系统也是Windows 7 x64-Martin Gamulin Sep 6 at 19:52”。这似乎与您所说的不适用于64位相矛盾。 - Xonatron
也许,此时此刻我只记得 JAI 本地加速(dlls)仅适用于32位JRE,并且没有x64版本可用。 - David Oliván

3
安装 JRE 版本 1.3 或更高版本?(并确保您的 PATH 指向它)
[编辑] 您确定存在问题吗?看起来您下载的 3 个文件是相互排斥的(这是我从安装说明中得出的结论)。
http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-windows-i586-jdk.exe
http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-windows-i586-jre.exe
http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-windows-i586.exe

安装-jre或-jdk可能是多余的
我安装了jre版本,它要求我提供一个jre目录 - 你有没有遇到过这种情况?
[/edit]

哎呀,我应该提到我已经在“C:\Program Files\Java\jre7”安装了JRE 7(1.7),我刚刚双重检查了一下,我的路径没有指向它,我也双重检查了一下。从之前在我的Windows XP机器上安装的经验来看,我不知道我需要这样做。 - Xonatron
我已将路径指向“C:\Program Files\Java\jre7\bin”,但这并没有帮助消除错误。 - Xonatron
1
你是否将JAVA_HOME环境变量指向c:\program files\java\jre7? - KevinDTimm
是的,JAVA_HOME = "C:\Program Files\Java\jdk1.7.0"(不带引号)。 - Xonatron
关于你的编辑关于排他性:我认为你是对的,但由于我不确定我的工作中会使用什么JAI,所以我想安装所有三个。第一个安装到“C:\Program Files (x86)\Sun Microsystems\Java Advanced Imaging 1.1.3”,其他两个应该安装在我的JDK和JRE位置下(记住JDK也有自己的JRE位置,所以谁知道它在那里做什么)。如果我知道这是同一件事,我可能只需手动将这些文件复制到它们的目标位置即可。 - Xonatron
显示剩余4条评论

1

您必须安装32位版本的jdk


1

尝试在没有任何空格的文件夹中安装(重新安装)Java(JRE)。例如C:\ Java \ jre7。


我也发现嵌入式“程序文件”和Java安装不是很兼容 - 你的情况可能不同。 - KevinDTimm
不是真的。如果你想尝试,请卸载JRE并在没有空格的路径中安装它。顺便问一下,你有没有尝试过旧版本的JRE? - Martin Gamulin
鉴于Java可以轻松处理目录或文件名中的空格,我无法理解这与OP的问题有何关联。 - Andrew Thompson
我打算在我的工作站上安装与Java相关的所有内容,放置到无空格位置,并在测试后告诉你是否有效。除了解决这个问题外,这样做还有其他好处,可以更好地模拟生产服务器。 - Xonatron
我回来了。我尝试将Java安装到C:\ xxx \ xxx \ jdk1.7.0和C:\ xxx \ xxx \ jre7文件夹中,其中x是字母而不是空格。它给出了相同的错误,这次只针对JDK版本(jai-1_1_3-lib-windows-i586-jdk.exe),但假设JRE版本也会出现相同的错误。我将编辑我的帖子,更多地谈论JDK版本,因为这是我想要的,而且两者的错误类似。 - Xonatron
显示剩余3条评论

0
我通过安装32位版本的jdk解决了这个问题。 我的操作系统是Windows 8 64位。 当我双击安装jai-1_1_3-lib-windows-i586-jdk.exe和jai_imageio-1_1-lib-windows-i586-jdk.exe时,我得到了相同的错误提示“必须安装JRE 1.3或更高版本!” 然后我下载了jdk-7u21-windows-i586.exe并将其安装在“c:\Program Files (x86)\Java”中。 然后问题就解决了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接