maven - Maven 的目标和阶段是什么?它们有什么区别?

标签 maven

Maven 目标和阶段之间有什么区别/关系?它们之间有何关系?

最佳答案

目标是分阶段执行的,这有助于确定目标的执行顺序。对此的最好理解是查看 default Maven lifecycle bindings它显示默认情况下哪些目标在哪些阶段运行。 compile 阶段目标将始终在 test 阶段目标之前执行,而 test 阶段目标将始终在 package 阶段目标之前执行,依此类推。

执行 Maven 时可以指定目标或阶段,这一事实加剧了部分困惑。如果您指定一个阶段,那么 Maven 将运行所有阶段,直到您按顺序指定的阶段(例如,如果您指定 package,它将首先运行编译阶段,然后运行测试阶段,最后运行 package 阶段),并且对于每个阶段,它将运行运行该阶段附加的所有目标。

当您在 Maven 构建文件中创建插件执行并且仅指定目标时,它将将该目标绑定(bind)到给定的默认阶段。例如,jaxb:xjc 目标默认绑定(bind)到 generate-resources 阶段。但是,当您指定执行时,您还可以显式指定该目标的阶段。

如果您在执行 Maven 时指定了一个目标,那么它将运行该目标并且仅运行该目标。换句话说,如果您指定 jar:jar 目标,它只会运行 jar:jar 目标将代码打包到 jar 中。如果您之前没有运行编译目标或以其他方式准备编译的代码,则很可能会失败。

关于maven - Maven 的目标和阶段是什么?它们有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57110947/

相关文章:

java - 如何不生成maven jar

java - 如何用正则表达式替换属性值

java - 使用Spring云值时EmbeddedWebApplicationContext的ClassNotFoundException

java - Maven Javadoc 找不到我的子包 - 'javadoc: warning - No source files for package'

android - 在 Eclipse 中确保 SVN check out 后立即构建 Android 项目的实践

android - 找不到Android Studio Gradle DSL方法: 'mavencentral()'

Maven 编译器错误 - 无效标志 - 释放

java - 如何在 Maven java web 应用程序中设置文件夹的相对路径?

maven - Dspace 6.3 Solr Webapp 构建错误 org.reSTLet.jee - 镜像被阻止

maven安装失败