针对差异JDK版本编译的相同JAR

时间:2019-07-03 15:11:17

标签: java maven java-11 maven-profiles

我们有一个遗留的Java库(称为AcmeLib),用于引导Java应用程序,提供配置,包装某些db功能等。这个库在维护模式下非常有用,它是使用maven构建的标准Java 8 jar。

我们现在要构建Java 11应用程序-他们需要使用AcmeLib。我的第一个想法是继续在Java 8中构建AcmeLib,并且将其导入Java 11应用程序时可以正常工作(*关键是更新AcmeLib依赖项)。

我还有另一个想法来构建AcmeLib的Java 8和Java 11版本。我可以使用Maven配置文件来完成此操作(因为它们之间的差异仅是库之间的差异,例如pom的东西,例如插件配置等)。

<profiles>
    <profile>
        <id>java-11</id>
        <activation>
            <jdk>11</jdk>
        </activation>
        <!-- add Java 11 specific configuration -->
    </profile>
</profiles>

所以2个配置文件,意味着2个版本-所以我的问题(关于时间!)是否在想这是否是反模式?另外,有人对命名约定有什么建议吗?当前的lib版本是5.5上的任意版本,因此我可以创建一个11版本。

<!--  Java 8 complied -->
<artifactId>AcmeLib</artifactId>
<version>5.6</version>

<!--  Java 11 complied -->
<artifactId>AcmeLib</artifactId>
<version>11</version>

0 个答案:

没有答案