Java 哪个配置文件告诉Tomcat已安装JRE的位置?

Java 哪个配置文件告诉Tomcat已安装JRE的位置?,java,eclipse,jsp,tomcat,Java,Eclipse,Jsp,Tomcat,从现有线程(和)中,我了解到Tomcat5.5以后的版本不需要安装JDK来编译jsp文件,因为它使用自己的捆绑Eclipse Java编译器。然而,当tomcat运行java字节码时,它确实需要JRE。但是在安装Tomcat的过程中,我们只需要指定JVM的位置。为了编译和运行Java代码,我们只需要将JDK文件夹下的bin文件夹添加到path环境中。但是JDK9不再包含JRE文件夹。相反,在JDK文件夹外有一个独立的JRE文件夹。在运行编译好的jsp代码时,Tomcat如何仍然捕获JRE?Tom

从现有线程(和)中,我了解到Tomcat5.5以后的版本不需要安装JDK来编译jsp文件,因为它使用自己的捆绑Eclipse Java编译器。然而,当tomcat运行java字节码时,它确实需要JRE。但是在安装Tomcat的过程中,我们只需要指定JVM的位置。为了编译和运行Java代码,我们只需要将JDK文件夹下的bin文件夹添加到path环境中。但是JDK9不再包含JRE文件夹。相反,在JDK文件夹外有一个独立的JRE文件夹。在运行编译好的jsp代码时,Tomcat如何仍然捕获JRE?Tomcat中的哪个配置文件捕获了这一点?谢谢

但是在安装Tomcat的过程中,我们只需要指定JVM的位置

指定JVM的位置隐式地指定JRE的位置,因为JVM位于JRE目录结构内部

为了编译和运行Java代码,我们只需要将JDK文件夹下的bin文件夹添加到path环境中

将JDK
bin
文件夹添加到路径中,意味着您可以运行
java
javac
命令。命令文件的位置隐式地指定要使用的JDK的位置,从而指定JVM的位置。没有配置文件

在Windows 64位Java 5到Java 8中,JVM位于
%Java\u HOME%\jre\bin\server\JVM.dll

在Windows 64位Java 9中,JVM位于
%Java\u HOME%\bin\server\JVM.dll

但是JDK9不再包含JRE文件夹。相反,在JDK文件夹外有一个独立的JRE文件夹

所有Java版本的JDK安装程序都将创建JDK文件夹和JRE文件夹,除非您告诉它不要创建单独的JRE文件夹。在这方面,Java9与旧的Java版本没有什么不同

在运行编译好的jsp代码时,Tomcat如何仍然捕获JRE


Tomcat本身是用Java编写的,所以Tomcat不定位Java。运行Tomcat的是Java。

我在问Tomcat如何知道JRE的位置,以便运行从.jsp编译的.class文件。我不是问Java如何运行.class(我知道Java的例子中涉及Java和Java)。我们只告诉Tomcat JVM的位置,即%JAVA\u HOME%\bin\server\JVM.dll。但在Java9中,JRE不是在JDK文件夹内,而是在JDK文件夹外(即在%Java_HOME%之外)。另外,请注意,对于JDK 9,JDK文件夹不包括JRE文件夹。对于exmaple,C:\Program Files\Java\jdk-9.0.1和C:\Program Files\Java\jre-9.0.1,前者不包括后者。您阅读了我的答案吗?JVM和所有Java运行时库都是Java9JDK的一部分。当然,它们不在
JRE
子文件夹中,但JRE中的所有内容也都在JDK中但对于第一点,请再次阅读答案的最后部分:Tomcat并没有找到Java。Tomcat由Java运行,Java已经知道自己在哪里。Tomcat的Java代码只是使用反射调用JSP编译的Java类。Tomcat不需要找到Java就可以做到这一点,因为Java已经在运行它了。我正在努力更好地理解它。所以这个过程是这样的:1)jsp被转换成.java,2)java被编译成.class,这两个步骤都在Tomcat中,3)类由JVM运行,这超出了Tomcat的范围,但完全是用java完成的。这就是你的意思吗?谢谢