具有多个JDK的Gradle Maven发布插件

问题描述 投票:0回答:1

我有一个我想使用Maven Publish Plugin发布的Java库项目。我面临的挑战是,我想将其发布到相同的本地关系存储库中,但使用多个JDK版本进行编译。就像我想使用JDK 1.8和JDK 11编译相同的源代码一样。之所以这样做,是因为我的项目有多个使用者,并且想要确保我能够提供正确的工件。

我从看到Microsoft的MSSQL Server驱动程序得到了这个想法。它们具有专门针对各个JDK发布的相同版本的驱动程序。

提前感谢!

java maven gradle build.gradle gradle-plugin
1个回答
0
投票

您描述的用例恰好是发明了Multi-Release JAR Files的用例。

[The mrJar Gradle plugin是专门为该MRJAR用例设计的插件。

实际上,mrJar插件使用其自身来创建发布到插件门户的JAR。它在构建过程中dog foods本身来创建[C0从插件存储库分发的工件。

例如:仅Gradle 6.0或更高版本支持Java13。在Gradle的插件门户网站上发布的mrJar插件的JAR文件具有仅在以下情况下提供Java 13支持的功能:应用于在Java 13中运行的项目中。当插件在Java 8、9、10、11、12中运行时,Java 13功能不存在。

我很确定使用mrJar插件是您的问题描述的用例的解决方案。 Modular Multi-Release JAR将引导您完成所需的操作。

© www.soinside.com 2019 - 2024. All rights reserved.