我正在准备 Tomcat 安装。我在 DEV 环境中,需要安装 JDK,其中还包括 JRE。我取得了成功,但我认为我遇到了一些奇怪的 PATH
问题。 I was referencing - not explicitly - the instructions here.
- JDK 安装路径 - C:\java
- JRE 安装路径 - C:\java\jre
- JAVA_HOME 变量 - C:\java
- PATH var(列表顶部)- C:\java\bin
- PATH 还包括 - C:\Program Files (x86)\Common Files\Oracle\Java\javapath
当我从命令行测试以查看 java -version
是否正常时,我收到此错误:
<JAVA_HOME>/lib/ext exists, extensions mechanism no longer supported; Use -
classpath instead.
.Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
但是,如果我手动浏览到 C:\java\jre\bin,然后运行 java -version
,它会告诉我版本很好,没有错误。
当我从 C:\java\bin\运行 java -version
时,我遇到了问题。
JRE和JDK中的java.exe有什么区别?为什么 JDK java.exe 这么不开心?
最佳答案
我想为后代回答我自己的问题,希望它能帮助其他人,比如我,是新手了解 Tomcat 对 Java 的要求。
这是我的观察:
- 最终,我试图在一个旧的、“脏”的 java 文件夹中进行全新安装。我从一个全新的文件夹开始,这几乎解决了所有问题。运行
java -version
时,我没有收到原始问题中提到的错误。 - 此时完全没有必要为 Tomcat 指定
JRE_PATH
和JAVA_PATH
。这些是 Windowscmd
的环境变量,可以在安装期间被其他应用程序(如 Tomcat)引用。 JRE_PATH
和JAVA_PATH
是环境变量,与PATH
无关- JDK/JRE 安装将
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
添加到PATH
。不知何故,该文件夹中的 3 个可执行文件只知道真正的 Java 文件夹结构在哪里。有相应的注册表项定义文件夹结构的位置。 - 即使没有指定 JRE_PATH,Tomcat 也能够正确地挑选出 JRE 的位置
- 对于 Tomcat 而言,我认为使用 JDK 或 JRE 中的 Java.exe 并不重要,因为它们看起来是一样的
资源:
Which JRE does C:\ProgramData\Oracle\Java\javapath\java.exe use?
https://www3.ntu.edu.sg/home/ehchua/programming/howto/JDK_Howto.html
关于java - 你使用哪个Java?在 Server 2016 上安装 JDK 和 JRE (10.0.1);设置 JAVA_HOME 和路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50611412/