当前位置: 首页 > 知识库问答 >
问题:

为单个API创建Java8和Java11构建

耿学义
2023-03-14

我们正在努力将我们的API从Java8升级到Java11。

然而,我们需要同时支持Java8和Java11,因为所有客户端还没有准备好Java11。

如果我们可以使用Java 8和Java 11创建maven build,而不需要复制我们的存储库,也不需要对pom进行任何更改,这是可能的吗。每次为Java 8和Java 11创建构建之前都使用xml?

共有2个答案

太叔超英
2023-03-14

太长别读

你不需要这些,只需构建到Java8,就可以开心了!

解决

您可以使用Maven Build Profiles进行以下操作:https://maven.apache.org/guides/introduction/introduction-to-profiles.html

1.将属性设置为Java 11:

<properties>
  <maven.compiler.target>11</maven.compiler.target>
  <maven.compiler.source>11</maven.compiler.source>
  <maven.compiler.release>11</maven.compiler.release>
</properties>

2.添加简介:

<profile>
  <id>jdk-8</id>
  <properties>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.release>1.8</maven.compiler.release>
  </properties>
</profile>

3.构建:

您需要运行两个版本,一个正常,另一个激活JDK 8配置文件:

$ mvn ...
$ mvn ... -P jdk-8

考虑事项:

  • 始终使用JDK 11,因为它可以自信地构建Java8目标
满博
2023-03-14

您应该:

  • 从您的POM中删除,如果存在,maven.compiler.sourcemaven.compiler.target
  • 设置<代码>JAVA_HOME=
 类似资料:
  • 我们正在用Adopt JDK11和IntelliJ使用Gradle开发一个JavaFX11应用程序。最后,我们需要一个用于windows的EXE文件(该应用程序仅为windows设计)。在第一次尝试中,我们也使用了gradle中的launch4J,由于以下问题,我们也可以使用BAT文件,我们可以迁移到exe文件。 所以我们的主要目标和问题是,如何才能创建一个可执行的jar文件。 我们进行了几次尝试

  • Java(TM)SE运行时环境(构建1.8.0_102-B14) Java HotSpot(TM)64位服务器VM(构建25.102-B14,混合模式) 我知道jdk11不包含jre,但是我如何在java 11中从cmd运行java程序呢

  • 我正在使用JBoss 9. x应用服务器,我想创建一个REST api来与我的EJB通信。我创建了两个类PlayerRestApi和PlayerEJB,并将其部署到野蝇,但是当我请求 /player响应总是404。 注意:我将发布带有虚拟返回的PlayerRestApi类。 PlayerRestApi代码: 当我尝试此路线时,localhost:http://localhost:28070/app

  • 问题内容: 我正在使用MVC创建一个基本的计算器。到目前为止,我正在改编一个教程,该教程仅将两个用户输入的值加在一起。 目前,我要添加到视图中的每个按钮都有其自己的侦听器,可以。但是,根据教程的控制器每个按钮只有一个ActionListener内部类。这重复了大量代码。 如何为所有按下的按钮创建一个ActionListener类,并在按下的按钮的ID上使用case语句? 在视图中注册oneButt

  • 我遵循了https://blog.jetbrains.com/idea/2013/03/packaging-javafx-2-applications-in-intellij-idea-121/中的步骤 但是当我尝试构建工件时,在最后一步中,我得到了这个错误 错误:Java FX Packager:无法生成工件-FX:Deploy在此JDK中不可用 这里有一个快速测试的hello world应用程