为不同的JVM版本部署maven构件

为不同的JVM版本部署maven构件,maven,versioning,Maven,Versioning,对于Jaybird Firebird JDBC驱动程序的发布,我们还希望发布到Maven存储库。我现在正在考虑如何命名/版本这些工件,因为对于即将推出的Jaybird 2.2,每个支持的Java版本都有不同的版本,它将是Java 5/JDBC 3、Java 6/JDBC 4.0和Java 7/JDBC 4.1的版本 我发现了三种命名JVM特定版本的不同方法: 工件中的JVM版本,例如jaybird-jdk15由于两者的源代码不同,我选择选项1。这真的是一个不同的人工制品 现在,如果您将所有源代码

对于Jaybird Firebird JDBC驱动程序的发布,我们还希望发布到Maven存储库。我现在正在考虑如何命名/版本这些工件,因为对于即将推出的Jaybird 2.2,每个支持的Java版本都有不同的版本,它将是Java 5/JDBC 3、Java 6/JDBC 4.0和Java 7/JDBC 4.1的版本

我发现了三种命名JVM特定版本的不同方法:


工件中的JVM版本,例如jaybird-jdk15由于两者的源代码不同,我选择选项1。这真的是一个不同的人工制品


现在,如果您将所有源代码合并到一个树中,并使用概要文件来构建不同的工件,我将使用选项3。但只有当它成为一个源代码库时,oracle才会使用选项1,并将其工件命名为ojdbc14、ojdbc5或ojdbc6。我认为分类器是正确的方法,但是您提出了一个关于附加源代码和javadoc工件的非常好的观点。在jdk14和jdk15版本5.11之前使用了选项3。它还部署了source和javadoc,但不确定它们是否对两者都通用。构建本身不使用Maven,而且JVM版本之间的差异编码和结构方式不容易获得单个代码库。如何使用Maven构建和生成工件并不重要。正是这些工件对使用maven的其他项目的可用性使得差异变得重要。