META-INF中的Maven pom.xml与Maven仓库中的pom.xml有何区别?

4

我正在使用bazel生成一个支持Maven的构件。我发现mvn会将一些文件放在JAR存档的META-INF目录下(file.jar/META-INF/maven/groupId/artifactId/pom.xmlfile.jar/META-INF/maven/groupId/artifactId/pom.properties)

问题:

  1. 这些文件是否必须才能成功地从另一个项目中依赖我的构件?我知道你可以通过一个pom.xml中的配置选项来禁用它们参考,这使我相信不需要。
  2. 在任何情况下,mvn是否使用这些文件呢?
  3. 我是否可以在JAR内部使用pom.xml 来代替位于Maven repo中的构件旁边的pom.xml
1个回答

2
我们的Maven存储库中有几个不包含pom.xml的jar文件。对于maven来说,相关的pom.xml是在artifact之外的那个。在Nexus中,你总是需要将一个jar和一个pom.xml一起部署,这才是有效的。
所以,如果你想从Maven中使用这些jar,就需要发布一个与其一起的pom.xml文件,但你不需要将其放到内部。据我所知,你无法更改此行为。

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