gpt4 book ai didi

maven - 如何确定从 Maven react 器计划构建了哪些 Artifact (即 : including sub modules)?

转载 作者:行者123 更新时间:2023-12-01 12:54:39 25 4
gpt4 key购买 nike

(注意:这个问题最初是由 Dan Allen 在 Google+ 上提出的:https://plus.google.com/114112334290393746697/posts/G6BLNgjyqeQ)

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

这可能是一个编写起来相当简单的插件,但如果它已经在某处以编程方式可用,我不想重新发明它。看起来这应该在某个地方很容易获得。

最佳答案

作为Andrew Logvinov已经评论过,任何 Maven 插件都可以附加额外的 Artifact 。所以我认为如果没有实际情况这是不可能的构建项目并执行绑定(bind)到生命周期阶段的所有插件,直至 package

我不知道有任何预先存在的插件这样做,关闭可能会是将实际部署运行到临时目录中,然后列出包含的文件。为避免在执行此操作时修改本地存储库,您想要避免 install 阶段。 verify 阶段直接发生在 install 之前,可以显式调用 deploy mojo。

deploy plugin允许使用这样的文件 url 指定替代存储库:

mvn verify deploy:deploy -DaltDeploymentRepository=snapshots::default::file:///home/jh/Temp/repository

列出所有附加 Artifact 的 Maven 插件的最简单实现可能如下所示:

/**
* @goal list-artifacts
* @phase verify
*/
public class ListArtifactsMojo extends AbstractMojo {

/**
* @parameter default-value="${project}"
* @required
* @readonly
*/
MavenProject project;

public void execute() throws MojoExecutionException, MojoFailureException {
Collection<Artifact> artifacts = new ArrayList<Artifact>();
artifacts.add(project.getArtifact());
artifacts.addAll(project.getAttachedArtifacts());

for (Artifact artifact : artifacts) {
System.out.println("Artifact: " + artifact);
}
}
}

关于maven - 如何确定从 Maven react 器计划构建了哪些 Artifact (即 : including sub modules)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10454181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com