你用哪个java?在Server 2016上安装JDK和JRE(10.0.1);设置JAVA_HOME和路径

时间:2018-05-30 18:36:29

标签: java tomcat

我正准备安装Tomcat。我在DEV环境中,需要安装包含JRE的JDK。我已经取得了成功,但我认为我有一些奇怪的PATH问题。 I was referencing - not explicitly - the instructions here.

  1. JDK安装路径 - C:\ java
  2. JRE安装路径 - C:\ java \ jre
  3. JAVA_HOME变量 - C:\ java
  4. PATH var(列表顶部) - C:\ java \ bin
  5. PATH还包括 - C:\ Program Files(x86)\ Common Files \ Oracle \ Java \ javapath
  6. 当我从命令行测试以查看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中的java.exe与JDK有什么区别?为什么JDK java.exe如此不满意?

1 个答案:

答案 0 :(得分:0)

我希望回答我自己的后代问题,希望它可以帮助其他人,比如我自己,更了解Tomcat对Java的要求。

以下是我的观察:

  • 最终,我试图在旧的“脏”java文件夹中进行全新安装。我开始使用一个全新的文件夹,这几乎解决了所有问题。运行java -version时,我没有收到原始问题中引用的错误。
  • 此时指定Tomcat的JRE_PATHJAVA_PATH可能完全没必要。这些是Windows cmd的环境变量,在安装过程中可以被其他应用程序引用,如Tomcat。
  • JRE_PATHJAVA_PATH是env变量,与PATH
  • 无关
  • JDK / JRE安装将C:\Program Files (x86)\Common Files\Oracle\Java\javapath添加到PATH。不知何故,该文件夹中的3个可执行文件只知道真正的Java文件夹结构所在的位置。有相应的注册表项,用于定义文件夹结构的位置。
  • 即使没有指定JRE_PATH,Tomcat也能够正确选择JRE的位置
  • 对于Tomcat的目的,如果您使用JDK或JRE中的Java.exe,我认为这并不重要,因为它们似乎是相同的

资源:

https://docs.oracle.com/javase/9/install/installation-jdk-and-jre-microsoft-windows-platforms.htm#JSJIG-GUID-29333CFD-E7A6-498B-9317-97700C81D928

Which JRE does C:\ProgramData\Oracle\Java\javapath\java.exe use?

https://www3.ntu.edu.sg/home/ehchua/programming/howto/JDK_Howto.html

JDK java executable vs JRE executable