【发布时间】:2017-07-13 19:15:15
【问题描述】:
我有一个项目,其中使用两个 groupIds 和不同的 versions 以两种不同的方式部署 Maven 项目。例如:
a) 取决于分支(使用jitpack):
<dependency>
<groupId>com.github.user</groupId>
<artifactId>myProj</artifactId>
<version>aaaaaa-SNAPSHOT</version>
</dependency>
b) 取决于 ... 版本(其他来源):
<dependency>
<groupId>org.user</groupId>
<artifactId>myProj</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
我正在使用方法 a)。我的项目还依赖于其他一些部署方法 b) 的项目。我不知道,我怎样才能覆盖 b) 或者我怎样才能告诉 Maven 这些是同一个项目并要求他们使用 a)。
This 提供了一种使用 classifier 来使用具有不同工件名称的同一项目的方法。我也看过Dependency Management,但不能真正理解。我不是这方面的专家。
【问题讨论】:
-
只是提示
-SNAPSHOT不是发布... -
仅供参考:"a) 取决于分支" – Maven 项目取决于人工制品(
jar、war等),而不是(SCM)分支.aaaaaa-SNAPSHOT是一个不寻常的版本,请参阅 Understanding Maven Version Numbers。 “b) ...<version>1.0.0-SNAPSHOT”不是发布,而是快照(即开发)版本。<type>jar和<scope>compile不需要显式声明,因为它们是默认值。