对于Jaybird(Firebird JDBC驱动程序)的发布,我们还想发布到Maven存储库。我现在正在考虑如何命名/版本工件,因为每个支持的Java版本都有不同的版本(对于即将推出的Jaybird 2.2,它将是Java 5 / JDBC 3,Java 6 / JDBC 4.0和Java 7 /的版本JDBC 4.1)。
我找到了三种不同的命名JVM特定版本的方法:
<artifactId>jaybird-jdk15</<artifactId>
)<version>2.2.0-jdk15</version>
)<classifier>jdk15</classifier>
)由于构建具有不同的源代码,因此可以认为JVM变体实际上是不同的工件(选项1)。我已经看到PostgreSQL JDBC使用选项2.选项3(AFAIK)的缺点是你不能包含特定于版本的源和javadoc。
我想知道我是否错过了针对JVM特定工件的完全不同的选项或maven功能,或者是否有一种首选方法来对这些类型的工件进行版本控制。
注意:Jaybird构建过程本身不使用Maven
答案 0 :(得分:1)
由于两者的源代码不同,我会选择1.它实际上是一个不同的工件。
现在,如果您将所有源组合到一个树中,并使用配置文件来构建不同的工件,那么我会选择3。但只有当它变得更像一个源代码库时。