我尝试评估我的Java程序及其所有依赖项(包括可传递的依赖项)是否适合Java Compact3配置文件。

我可以使用-profile compact3编译器开关来编译程序,但这只会检查我的程序。

如何自动(例如使用Maven)验证所有依赖项均符合配置文件要求?
我可以签出所有依赖项的源代码,并使用上述编译器开关手动构建它们,但这是不可行的。

最佳答案

有一个jdeps-maven-plugin适合您的用例

将此添加到pom.xml

<build>
  <plugins>
    <plugin>
      <groupId>com.github.marschall</groupId>
      <artifactId>jdeps-maven-plugin</artifactId>
      <version>0.4.0</version>
      <configuration>
        <profile>true</profile>
        <recursive>true</recursive>
      </configuration>
    </plugin>
  </plugins>
</build>

然后跑
$ mvn jdeps:jdeps

不幸的是,如果不满足配置文件要求,该插件将不支持自动失败的构建,但是可以编写一个外部脚本来处理输出。

例如
mvn jdeps:jdeps | awk '/    ->/ && /Full/ {print}'

08-03 18:11