如何编译模块具有不同Java版本的多模块Maven项目?可能使用Jenv?

时间:2019-02-20 20:59:10

标签: java maven multi-module jenv

假设我有一个包含两个模块的多模块Maven项目:

  • foo;需要Java 1.8进行编译
  • bar;需要Java 11进行编译

我希望能够通过从父目录运行mvn clean install来构建它们,并使用适当的Java版本对其进行编译。

我们要明确:将两者都升级到Java 11并不是一件容易的事。为什么:

  • 我想将应用程序bar升级到Java 11,以获得Java语言的最新功能和改进。 bar是一个独立的Spring Boot应用程序,我能够做到。
  • 应用程序foo是JBoss部署模块插件。它已插入当前在Java 8上的第三方应用程序中。我无法将以Java 11编译的模块放入以Java 8运行的应用程序中。

我看到有一种方法可以使用maven-toolchains-plugin中所述的this post来完成。那行得通。但是我使用jenv来管理版本,并且可以为每个目录设置Java版本(使用jenv local)。我想知道是否有一种方法可以使用Jenv代替工具链插件。它可以满足我的所有需求;我只需要弄清楚如何使Maven从目录中的jenv配置文件读取Java版本。

0 个答案:

没有答案