如何指定带有分类器的 jar 应该依赖于另一个带有分类器的 jar

问题描述

也许问题的标题有点误导,但请耐心等待 - 情况如下:

我有以下 jars,它们具有相同的组 ID、工件 ID 和版本,并且仅在分类器上有所不同:myJar.jarmyJar-classifier.jar

myJar 依赖于我生产的另一个 jar; pom.xml 的一部分看起来像:

<groupId>grp</groupId>
<artifactId>myJar</artifactId>
<version>1.0</version>
<dependencies>
    <dependency>
        <groupId>grp</groupId>
        <artifactId>myOtherJar</artifactId>
        <version>${project.version}</version>
    </dependency>
    ...
</dependencies>

简而言之:jar 不是由 maven 生成的,而是单独编译和打包的,pom.xml 也是手工“创建”的。是的,传统……糟透了。

上面提到的另一个 jar (myOtherJar) 也带有和不带有分类器。

两个 jars (myJar) 都与 pom.xml 文件一起上传到 nexus 存储库,使用类似的 mvn deploy-file 命令:

maven deploy:deploy-file
    -DpomFile=pom.xml
    -Dfile=myJar.jar
    -Dpackaging=jar
    -Dclassifiers=classifier
    -Dtypes=jar
    -Dfiles=myJar-classifier.jar
    -DrepositoryId=nexus
    -Durl=http://host:port/nexus/content/repositories/releases

现在,问题是 myJar.jar 依赖于 myOtherJar.jar,这很好,

myJar-classifier.jar 也依赖于 myOtherJar.jar,这是不行的,因为我希望它依赖于 myOtherJar-classifier.jar

这可能吗? 我怎样才能做到这一点?

我是否应该更改在 nexus 上上传工件的方式?怎么样?

  • 据我所知,不可能在 nexus 上同时上传具有不同 myJar.jarmyJar-classifier.jarpom.xml(因为它们具有相同的 GAV 参数)

我是否应该修改 myJarpom.xml 外观以及如何定义对 myOtherJar 的依赖?怎么样?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)