【问题标题】:Running spring boot application in a different jdk version在不同的 jdk 版本中运行 spring boot 应用程序
【发布时间】:2018-10-24 13:33:00
【问题描述】:

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

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

我想使用容器来解决这个问题,但我们的制作团队现在不想要。我知道在 tomcat 或 weblogic 服务器中有“setenv”,但我想知道是否有针对它的 spring boot 解决方案(我没有找到)

提前谢谢你。

【问题讨论】:

    标签: java spring spring-boot


    【解决方案1】:

    您可以在您的机器上安装任意数量的 JVM。您只需要设置需要加载的 java 版本即可。

    即,如果您的 java 8 在 c:\programs\java\jdk8\bin 中,而您的 java 7 在 c:\programs\java\jdk7\bin 中,那么您需要绝对指定 java.exe,就像在 c:\programs\java\jdk8\bin\java.exe 中一样,您还需要为该会话设置环境变量,喜欢set JAVA_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 的绝对路径时它突然不起作用,您应该删除它。否则,您的解释是正确的。
    • 是的,有道理。非常感谢您的明确回答。
    猜你喜欢
    • 2023-03-16
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多