验证 pom.xml

Validate pom.xml

提问人:bunnie 提问时间:11/3/2023 更新时间:11/3/2023 访问量:31

问:

我想验证子 pom.xml。 每个子 pom.xml 都应具有来自父 pom.xml 属性的依赖项版本。

如何验证子 pom.xml 文件?

<kbd><project>
  <groupId>demo</groupId>
  <artifactId>example</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
 
  <name>Parent</name>
  <url>http://maven.apache.org</url>
 
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <junit.version>3.8.1</junit.version>
  </properties>
</project></kbd>

子 pom.xml :

<project>
 <parent>
    <groupId>demo</groupId>
    <artifactId>example<artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>example</artifactId>
  <name>Child POM</name>
  <packaging>jar</packaging>
 
  <dependencies>    
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

在子 pom.xml 中,依赖版本不应包含 3.8.1,但它应该具有父 pom.xml 中提到的属性,例如 ${junit.version}。 如何验证子pom?

Java Maven 验证

评论


答:

0赞 J Fabian Meier 11/3/2023 #1

请改用父 POM 中的 dependencyManagement,然后省略子 POM 中的版本号。

评论

0赞 Jorn 11/3/2023
那不是问题。问题是如何验证它是否使用了 version 变量。
0赞 J Fabian Meier 11/3/2023
如果您按照我的建议进行操作,则无需验证,因为版本是自动绘制的。
0赞 Jorn 11/3/2023
如果您从未编写过任何错误,则也无需验证/测试您的代码;-)
0赞 J Fabian Meier 11/3/2023
@Jorn 您到底要验证什么?dependencyManagement 的版本未在子 POM 中被覆盖?
0赞 Jorn 11/3/2023
这是一个公平的问题,只有OP才能回答。甚至可能答案是“Maven 不允许你验证这一点”。