Java Maven部署时不带<;家长>;标签

Java Maven部署时不带<;家长>;标签,java,maven,jar,Java,Maven,Jar,项目结构: src - pom.xml (parent POM) - core (lot of folders, sub-folders, source files) - deploy - DTO - pom.xml DTO文件夹: 使用shade插件从core收集一些类并创建一个新的jar 这个新jar具有简单的POJO,不需要任何依赖项 因此,为这个jar部署的POM不应该有任何父级或依赖项,因为这个jar被许多其他客户机使用(android就是其中之一) 但是,由于DT

项目结构:

src
- pom.xml (parent POM)
- core (lot of folders, sub-folders, source files)
- deploy
    - DTO
    - pom.xml
DTO文件夹:

  • 使用shade插件从core收集一些类并创建一个新的jar
  • 这个新jar具有简单的POJO,不需要任何依赖项
  • 因此,为这个jar部署的POM不应该有任何父级或依赖项,因为这个jar被许多其他客户机使用(android就是其中之一)
  • 但是,由于DTO文件夹中的POM是从父POM继承的,因此此父继承是一个问题
问题:我们如何在没有任何父级的情况下使用简化的自定义POM部署这个jar

可能的解决方案:DTO POM可以没有父对象。但是,我们会丢失许多继承,例如版本、属性、存储库等,如果DTO POM没有任何父级,则需要在DTO POM中重新定义这些继承


有更好的方法吗?

在运行时,父pom在中不可见。因此,如果在其他环境中使用jar,则没有问题部署到maven的DTO pom.xml具有父标记。当android应用程序使用此DTO jar作为依赖项时,它还将查找父pom,该pom会拉入依赖项,这在android中是不可用的。因此构建失败。什么意思是iparent pom不可见?parent.pom不应具有任何依赖项。你应该重组你的项目怎么可能?父pom定义了项目中所有源使用的所有公共依赖项。它只应该有一个节。它定义了应该使用哪个版本的人工制品。