微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何指定带有分类器的 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 举报,一经查实,本站将立刻删除。