maven
IntelliJ IDEA
Maven构建由一系列阶段组成,称为生命周期。每个阶段都有一个特定的目标。每个阶段都依赖于之前的阶段——如果某个特定的目标由于某种原因失败,整个构建就会失败。
下图显示了构建的基本阶段。
任何构建的构件都放在项目根目录下一个名为target的目录中。clean目标通过删除此目标目录从以前的构建中删除任何文件。这不会在任何后续阶段之前运行,除非您特别使用mvn clean启动此构建阶段,或者将其定义为始终在项目对象模型(POM)中运行。
验证阶段检查pom.xml文件是否是正确的构建文件,检查它是否符合Maven的构建文件的XML规范。如果您的POM .xml甚至不正确(例如,如果您缺少任何结束标记,或者您的标记没有正确嵌套),那么您的构建将在Maven应用程序正确初始化之前失败,显示关于不可解析POM或类似内容的错误。
compile 阶段引入任何已定义的依赖项,并执行代码编译,将任何类文件构建到target/classes目录中。
下一个阶段是test。这将编译test目录下的类,并在这里运行任何测试代码,例如单元测试或集成测试。默认情况下,任何失败的单元部署测试都会导致构建失败。
package阶段在成功的测试阶段之后运行。这将创建一个工件,例如WAR或JAR文件。这个文件存储在目标目录的根目录中。注意,这不是一个独立的文件;默认情况下,它没有内置任何依赖库,所以依赖项仍然需要包含在类路径中。绑定到此阶段的目标依赖于打包标记:如果将其设置为jar,则运行jar:jar目标;如果设置为war,则运行war:war目标。
install步骤将构建的构件发布到本地maven存储库。这通常保存在$HOME/.m2/repository目录中。如果您有多个Maven构建在本地运行,那么您的新构件现在就可以用于这些构建。
最后一步是部署。这一步通常需要少量额外的配置,定义了部署成品的确切位置。这种部署通常是到工件存储库,如Artifactory或Nexus。
这些存储库通常是您为自己的构建下载依赖构件的地方,但是这些存储库通常充当将构建安装到完整测试环境或活动环境的存储库。
这里的生命周期阶段是最基本的步骤;还可以使用其他一些方法,如生成测试源、集成前测试和集成后测试,来为构建提供更细的粒度。