我们有一个遗留的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>