java - 针对不同 JDK 版本编译的相同 JAR
问题描述
我们有一个遗留的 Java 库(称为 AcmeLib),用于引导 Java 应用程序、提供配置、包装某些数据库功能等。这个库非常处于维护模式,并且是使用 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>
解决方案
推荐阅读
- unity3d - unity Editor Drawer 属性对齐
- java - 二叉树中序java
- python - Connexion 视图函数抛出 500 错误而不是捕获异常
- html - 我无法在 html 上链接图像
- python-3.x - 如何通过python中的pynput跟踪和模拟箭头键
- linux - 我的 rPi LAMP 盒子上的 Apache 无缘无故停止工作
- hadoop - 使用 derby 初始化时出现 Hive 异常
- tcl - TCL:使用 cmdline 包中的“帮助”选项
- docker - 如何复制没有一些内部文件夹的文件夹(不使用.dockerignore)?
- python - 运行文件并运行选择为 Spyder 中的同一段代码提供不同的输出