java.exe与jdk(包括)jre有什么区别?
因此,我一直认为java.exe与jdk(包括)jre有什么区别?,java,Java,因此,我一直认为jdk\bin中的java.exe与jdk\jre\bin文件夹中的。显然,情况并非如此,java8肯定不是这样 我在测试maverick ssh库时发现,当使用jdk\bin中的java.exe时,它不会自动协商sshd服务器提供的列表中的加密密码。将使用的java.exe更改为jdk提供的jre中的java.exe(在jdk\jre\bin文件夹中),可以让测试应用程序正常工作 所以。。。有什么可能解释这种差异?如果两者相同,为什么一个java.exe可以工作而另一个不行 它
jdk\bin
中的java.exe与jdk\jre\bin
文件夹中的。显然,情况并非如此,java8肯定不是这样
我在测试maverick ssh库时发现,当使用jdk\bin
中的java.exe
时,它不会自动协商sshd服务器提供的列表中的加密密码。将使用的java.exe更改为jdk提供的jre中的java.exe(在jdk\jre\bin
文件夹中),可以让测试应用程序正常工作
所以。。。有什么可能解释这种差异?如果两者相同,为什么一个java.exe
可以工作而另一个不行
它们在曲面上显示相同:
C:\Program Files\Java\jdk1.8.0_20>dir bin\java.exe
08/22/2014 03:35 PM 190,856 java.exe
C:\Program Files\Java\jdk1.8.0_20>dir jre\bin\java.exe
08/22/2014 03:35 PM 190,856 java.exe
但在引擎盖下必须有所不同:
C:\Program Files\Java\jdk1.8.0_20>diff bin\java.exe jre\bin\java.exe
Files bin\java.exe and jre\bin\java.exe differ
编辑:
我确实审查了作为重复提出的问题,但它没有解决我的问题
二进制文件的版本看起来相同:
C:\Program Files\Java\jdk1.8.0_20>bin\java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
C:\Program Files\Java\jdk1.8.0_20>jre\bin\java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
除了java.exe的路径外,我没有调整类路径或命令行上的任何其他内容
使用WinMerge比较了两者。。。这两个文件的开始和结束(moreso)有一些差异。对我来说,一切都很好
重新使用该库并获得不同的结果,这几乎肯定与java.exe
无关,而是与JDK安装与JRE安装使用的类路径和JAR有关
如果你的文件不一样,那不仅仅是你:我找到了一台Windows8.1机器,上面有Oracle的Java8(一个旧版本),而且是一样的:大小、日期和版本匹配,内容不完全匹配。我的Linux机器上安装了Oracle的Java8,而jdk/bin/java
和jdk/jre/bin/java
文件是相同的(不仅仅是符号链接的)。我猜这与优化默认值有关,但与您的ssh库问题无关。可能有些不同。@angstadt530的可能重复:可能,但Jon指出他的文件实际上是不同的,而这个问题不是,这不是第一次优化破坏了某些东西。接受这一点,因为这似乎是最合理的建议。