假设我有一个包含两个模块的多模块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版本。