繁体   English   中英

如何分析 Maven pom.xml 的错误(冗余或忽略属性的 pom linter?)

[英]How to analyze a Maven pom.xml for mistakes (a pom linter for redundant or ignored properties?)

我的pom.xml很乱,随着时间的推移收集了垃圾。 有没有自动化的方法来“清理”一个 pom? 就像一个短绒,但用于 maven。

在 IntelliJ 中,我可以运行Analyze > Inspect Code并获取未使用函数、愚蠢的迭代器和可能的错误的列表。 我想我正在为我的 pom 寻找同样的东西

  1. 未使用的存储库,pluginRepositories
  2. 未使用的属性
  3. 与插件中指定的设置冲突的属性
  4. 具有较新版本的依赖项( mvn versions:display-dependency-updates有效,但不限于非破坏性版本更新)

对于 pom.xml 的简单pom.xml分析,您可以使用lint-maven-plugin

  1. 将以下内容添加到您的pom.xml
<build>
  <plugins>
    <plugin>
      <groupId>com.lewisd</groupId>
      <artifactId>lint-maven-plugin</artifactId>
      <version>0.0.11</version>
    </plugin>
  </plugins>
</build>
  1. 运行lint:check目标以检查您的pom.xml是否存在违规行为。
$ mvn lint:check

该插件将报告您的pom.xml中的任何违规行为,如下所示。

[INFO] --- lint-maven-plugin:0.0.11:check (default-cli) @ maven-sample ---
[INFO] Writing summary report
[INFO] [LINT] Completed with 3 violations
[INFO] [LINT] OSSDevelopersSectionRule: missing <developers/> section : 0:0 : /Users/jdoe/workspace/maven-sample/pom.xml
[INFO] [LINT] OSSInceptionYearRule: missing <inceptionYear/> information : 0:0 : /Users/jdoe/workspace/maven-sample/pom.xml
[INFO] [LINT] GAVOrder: Found 'name' but was expecting 'packaging' : 19:8 : /Users/jdoe/workspace/maven-sample/pom.xml

您可以通过运行lint:list目标来查看可用规则的列表。

听起来没有像 jshint.com 这样的 pom.xml 短绒,我可以将我的 pom 粘贴到其中并获得建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM