2017-09-05 65 views
2

我知道maven非常有见地,对于大多数问题总是存在一条最低阻力路径的答案。在这种情况下是否有一个: 在原始工件被分叉并且groupIdartifactId被更改后,工件版本的标准做法是什么? 换句话说,这是原来的POM GAV关于项目后叉版本号的Maven最佳做法

<groupId>org.apache.foo</groupId> 
<artifactId>some-project</artifactId> 
<version>2.3.4</version> 

应的版本在我的新POM

<groupId>com.example.bar</groupId> 
<artifactId>some-bar-project</artifactId> 
<version>???</version> 

一方面是什么,它可能是2.4.0-SNAPSHOT使它清楚地发现叉子发生在2.3.X.问题是,如果原始项目发展,现在有两个2.4.X,这可能会导致混淆。
另一方面,可以将版本重置为仿佛是全新的神器,并从1.0.0-SNAPSHOT开始。在这种情况下,有关代码的来源的信息可以在VCS

的分叉版本进行记录可能不会被公布于众

回答

1

我会虽然避免叉子将是最好的做法,但是如果你想保留原始版本说2.3.4你可以把

<version>2.3.4-1.0</version> <!-- or ---> 
<version>2.3.4_1.0</version> <!-- or ---> 
<version>2.3.4.1.0</version> 

为了突出这是你1.02.3.4叉。

我用的是什么

<version>2.3.4a</version> 
<version>2.3.4b</version> 

我会考虑保持Java的packagegroupId.artifactId相同。