Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Windows上查找JRE_Java - Fatal编程技术网

Java 在Windows上查找JRE

Java 在Windows上查找JRE,java,Java,我知道这个问题听起来很愚蠢,但我还是要问。我需要将新版本的JRE与我的应用程序捆绑在一起,我既找不到不在.exe中的JRE版本,也找不到在Windows 7上安装JRE的位置(Windows 7 search找不到任何内容,因此没有帮助)。谁能告诉我在哪里可以下载JRE版本,或者在哪里可以找到windows安装JRE的路径 不确定Windows 7,但在Windows XP上,安装默认为C:\Program Files\Java\jre6corsiKa关于Windows 7是正确的 我发现jre

我知道这个问题听起来很愚蠢,但我还是要问。我需要将新版本的JRE与我的应用程序捆绑在一起,我既找不到不在.exe中的JRE版本,也找不到在Windows 7上安装JRE的位置(Windows 7 search找不到任何内容,因此没有帮助)。谁能告诉我在哪里可以下载JRE版本,或者在哪里可以找到windows安装JRE的路径

不确定Windows 7,但在Windows XP上,安装默认为C:\Program Files\Java\jre6

corsiKa关于Windows 7是正确的 我发现jre的文件路径是 C:\ProgramFiles(x86)\Java\jre7

出于我的目的,我需要在ext目录中安装Connector/JDBC驱动程序。
jre7\lib\ext\

或者,如果尚未安装JDK,则安装JDK,并将
jre
文件夹置于其安装目录中

JDK还可以将其安装在
程序文件
(64位Windows上为64位,始终在32位Windows上)或
程序文件(x86)
(64位Windows上为32位)中,如上所述

它还将
java.exe
javaw.exe
javaws.exe
安装在
C:\Windows\system32

这将是最后安装的版本…

我发现了另一个更通用的解决方案,我正在Powershell中使用。问题是Java现在使用指向Java、javaw和javac的符号链接,因此您不能总是依赖于使用“where.exe Java”,因为它返回符号链接

我现在依靠Java通过使用详细模式和解析输出来报告它的实际运行位置

$javapath=((java -verbose -version | ? {$_ -match "Opened" }).replace("[Opened ","")).replace("\lib\rt.jar]","")

它将找到java报告它实际使用的路径,并返回安装目录。我唯一没有完全解决的问题是,由于“-version”选项,它会输出额外的信息,但唯一的其他选项是帮助,这更糟糕。但是,当从脚本运行时,可以忽略控制台输出。如果其他人有办法让它保持安静,我很想听听。

@BoltClock并不总是-有时它是程序文件(x86),具体取决于您的平台。@corsiKa实际上,它取决于安装的版本(32位/64位)。我安装了这两个版本,但最后安装的是C:\Windows\system32的java.exe。