同一个Maven项目的不同groupId(和版本)

4

我有一个项目,其中一个Maven项目使用两个不同的groupId和不同的version以两种不同的方式部署。例如:

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)。 这篇文章提供了一种使用classifier来使用相同项目但不同构件名称的方法。我也查看了依赖管理,但并没有真正理解。我不是这个领域的专家。

只是一个提示,-SNAPSHOT 不是一个发布版本... - khmarbaise
1
FYI: "a) Depends on a branch" - Maven项目依赖于构件(jarwar等),而不是(SCM)分支。 aaaaaa-SNAPSHOT是一个不寻常的版本,请参阅了解Maven版本号。"b) ... <version>1.0.0-SNAPSHOT" 不是发布版本,而是快照(即开发)版本。<type> jar<scope> compile无需显式声明,因为这些是默认值。 - Gerold Broser
1个回答

4

嗯,可能是对的。我可以在方法b)中使用“排除”。如果我没错的话,如果我使用1.1.0版本并排除1.0.0,它应该可以工作。但是,我想完全忽略1.0.0-SNAPSHOT。可能这不是很容易(或根本不可能)。 - novice

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接