Java 在不同的jdk版本中运行spring引导应用程序

Java 在不同的jdk版本中运行spring引导应用程序,java,spring,spring-boot,Java,Spring,Spring Boot,我有一个运行在jdk7和jboss上的应用程序,我想从中提取所有批处理代码,使其更干净。 我想创建可执行的SpringBoot2JAR并分别运行它们,或者至少升级到SpringBoot,将jdk版本升级到8 在一台同样在jdk 7上运行jboss应用程序的机器上运行需要jdk 8的spring boot 2应用程序是否可能?如何在运行时为可执行jar或war指定jdk版本 我想用一个容器来解决这个问题,但我们的生产团队现在不想这样。我知道tomcat或weblogic服务器中有“setenv”,

我有一个运行在jdk7和jboss上的应用程序,我想从中提取所有批处理代码,使其更干净。 我想创建可执行的SpringBoot2JAR并分别运行它们,或者至少升级到SpringBoot,将jdk版本升级到8

在一台同样在jdk 7上运行jboss应用程序的机器上运行需要jdk 8的spring boot 2应用程序是否可能?如何在运行时为可执行jar或war指定jdk版本

我想用一个容器来解决这个问题,但我们的生产团队现在不想这样。我知道tomcat或weblogic服务器中有“setenv”,但我想知道是否有spring引导解决方案(我没有找到)


提前感谢您。

您的机器上可以有任意数量的JVM。您只需要对需要加载的java版本进行设置

也就是说,如果您的java 8位于
c:\programs\java\jdk8\bin
中,而您的java 7位于
c:\programs\java\jdk7\bin
中,那么您需要像在
c:\programs\java\jdk8\bin\java.exe
中一样绝对指定
java.exe,您还需要为该会话设置环境变量,比如
set JAVA\u HOME=c:\programs\JAVA\jdk8\bin\

我的示例是使用windows计算机作为基础。您将需要一个启动脚本,或与您所使用的环境类似的脚本


请注意,如果您只是在启动脚本中使用
java.exe
,则JVM将使用在
%PATH%
中找到的第一个JVM启动,因此您可能希望从路径中删除java,以确保获得所需的确切版本。

谢谢您的回答。为了确保我能理解,这意味着我需要从PATH和JAVA_HOME中完全删除jdk,并在两个linux启动服务中指定所需的jdk:一个服务使用jdk 7启动jboss,另一个服务使用jdk 8启动tomcat?您不必从PATH中删除jdk。如果你想确定你不是坐在五个月的时间里,不知道为什么在你没有指定jdk的绝对路径时它突然不起作用,你应该删除它。否则,你的解释是正确的。是的,有道理。非常感谢你明确的回答。