【问题标题】:Create a list of artifacts that are build by a maven project创建由 Maven 项目构建的工件列表
【发布时间】:2018-02-02 12:48:03
【问题描述】:

有没有办法创建通过运行创建的所有工件的列表

mvn clean install

类似于:

的输出
mvn mvn dependency:tree/list

【问题讨论】:

  • 是的,运行mvn clean install :)。我认为没有其他方法。
  • mvn clean install | grep "^\[INFO\] Installing " | grep -v " at end" | grep -v "Installing artifact " | cut -d" " -f5" 用于什么目的?你在詹金斯建造吗?你可以使用 REST API 来获取这些信息吗?
  • @khmarbaise 最后有一个额外的引用...应该是 mvn clean install | grep "^[INFO] 安装" | grep -v "结束" | grep -v "安装工件" |剪切 -d" " -f5

标签: java maven build build-process


【解决方案1】:

有办法做到这一点:

mvn -q -Dexec.executable='echo' -Dexec.args='${project.groupId} ${project.version} ${project.artifactId} ${project.packaging}' --non-recursive exec:exec

如果您希望项目中的所有工件(包括子文件夹)都使用它,请删除 --non-recursive

【讨论】:

  • 绝对精彩!
【解决方案2】:

这可以通过扩展org.apache.maven.AbstractMavenLifecycleParticipant 来编写一个maven 扩展来实现,该扩展将在maven 构建afterSessionEnd 结束时运行,使用MavenSession.getAllProjects(), Artifact.getArtifact(), getAttachedArtifacts(), getGroupID(), getArtifactId(), getClassifier(), getType() 您可以循环所有项目并获取生成的每个工件的详细信息。
确保设置正确的配置文件(如果有的话),以免错过任何有关工件的信息,如此处报告的 get classifier/id of maven assembly artifact

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 2017-06-16
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多