如何确定从maven反应堆计划(即:包括子模块)构建哪些工件?

如何确定从maven反应堆计划(即:包括子模块)构建哪些工件?,maven,maven-plugin,maven-3,Maven,Maven Plugin,Maven 3,(注:此问题最初由Dan Allen在Google+上提出:) 如果我运行“mvn安装”,它会安装什么工件?或者,如果我运行“mvn部署”,它会部署哪些工件 这可能是一个非常简单的插件,但是如果它已经可以通过编程实现的话,我不想重新发明它。这似乎应该在某个地方随时可用。如前所述,任何maven插件都可以附加 其他工件。所以我认为如果没有事实上的帮助,这是不可能的 构建项目并执行所有绑定到生命周期阶段的插件,直至包 我不知道以前有什么插件能做到这一点,可能会关闭 将实际部署运行到临时目录中,然后列

(注:此问题最初由Dan Allen在Google+上提出:)

如果我运行“mvn安装”,它会安装什么工件?或者,如果我运行“mvn部署”,它会部署哪些工件

这可能是一个非常简单的插件,但是如果它已经可以通过编程实现的话,我不想重新发明它。这似乎应该在某个地方随时可用。

如前所述,任何maven插件都可以附加 其他工件。所以我认为如果没有事实上的帮助,这是不可能的 构建项目并执行所有绑定到生命周期阶段的插件,直至

我不知道以前有什么插件能做到这一点,可能会关闭 将实际部署运行到临时目录中,然后列出 包含的文件。要避免在执行此操作时修改本地存储库,请 希望避免
安装
阶段。
verify
阶段直接发生 在安装之前,可以显式调用deploymojo

允许使用以下文件url指定替代存储库:

mvn verify deploy:deploy -DaltDeploymentRepository=snapshots::default::file:///home/jh/Temp/repository
列出所有附加工件的maven插件的最简单实现如下所示:

mvn verify deploy:deploy -DaltDeploymentRepository=snapshots::default::file:///home/jh/Temp/repository
/**
*@目标列表工件
*@相位验证
*/
公共类ListArtifactsMojo扩展了AbstractMojo{
/**
*@parameter default value=“${project}”
*@必需
*@readonly
*/
马文尼项目;
public void execute()抛出MojoExecutionException,MojoFailureException{
集合工件=新的ArrayList();
add(project.getArtifact());
artifacts.addAll(project.getAttachedArtifacts());
for(工件工件:工件){
System.out.println(“工件:+工件”);
}
}
}

我认为这不是那么简单。例如,如果您使用assembly plugin,您可以指定其产品是否应附加到模块工件(
参数)。所以这个插件(如果存在的话)应该能够考虑到这些情况。