Java Maven build跳过清理和验证阶段
我正在使用IntellijIDE。我的项目是Java Maven build跳过清理和验证阶段,java,maven,Java,Maven,我正在使用IntellijIDE。我的项目是maven项目。困扰我的是,例如,当从Maven工具栏选择“安装”阶段并单击“运行Maven构建”时 未执行clean阶段: "C:\Program Files\Java\jdk-9.0.1\bin\java" -Dmaven.multiModuleProjectDirectory=A:\custom_software_projects\IdeaProjects\power_management "-Dmaven.home=C:\Program Fil
maven项目
。困扰我的是,例如,当从Maven工具栏选择“安装”阶段并单击“运行Maven构建”时
未执行clean
阶段:
"C:\Program Files\Java\jdk-9.0.1\bin\java" -Dmaven.multiModuleProjectDirectory=A:\custom_software_projects\IdeaProjects\power_management "-Dmaven.home=C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.2\plugins\maven\lib\maven3" "-Dclassworlds.conf=C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.2\plugins\maven\lib\maven3\bin\m2.conf" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.2\lib\idea_rt.jar=53577:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.2\plugins\maven\lib\maven3\boot\plexus-classworlds-2.5.2.jar" org.codehaus.classworlds.Launcher -Didea.version=2017.3.2 install
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building power_server 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ power_server ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 5 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ power_server ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ power_server ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory A:\custom_software_projects\IdeaProjects\power_management\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ power_server ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ power_server ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ power_server ---
[INFO]
[INFO] --- maven-assembly-plugin:2.2-beta-5:single (default) @ power_server ---
[INFO] Building jar: A:\custom_software_projects\IdeaProjects\power_management\target\power_server-1.0-SNAPSHOT-jar-with-dependencies.jar
[INFO]
[INFO] --- maven-dependency-plugin:3.0.2:unpack-dependencies (unpack-sigar) @ power_server ---
[INFO] log4j:log4j:jar:1.2.17 already exists in destination.
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ power_server ---
[INFO] Installing A:\custom_software_projects\IdeaProjects\power_management\target\power_server-1.0-SNAPSHOT.jar to C:\Users\ggeorgiev\.m2\repository\Power_Management_Server\power_server\1.0-SNAPSHOT\power_server-1.0-SNAPSHOT.jar
[INFO] Installing A:\custom_software_projects\IdeaProjects\power_management\pom.xml to C:\Users\ggeorgiev\.m2\repository\Power_Management_Server\power_server\1.0-SNAPSHOT\power_server-1.0-SNAPSHOT.pom
[INFO] Installing A:\custom_software_projects\IdeaProjects\power_management\target\power_server-1.0-SNAPSHOT-jar-with-dependencies.jar to C:\Users\ggeorgiev\.m2\repository\Power_Management_Server\power_server\1.0-SNAPSHOT\power_server-1.0-SNAPSHOT-jar-with-dependencies.jar
[INFO]
[INFO] --- maven-antrun-plugin:1.4:run (Copying jar-with-dependecnies and fixing LF in .sh scripts) @ power_server ---
project.artifactId
[INFO] Executing tasks
[copy] Copying 1 file to A:\custom_programs\power_server
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.291 s
[INFO] Finished at: 2018-02-10T21:42:17+02:00
[INFO] Final Memory: 17M/56M
[INFO] ------------------------------------------------------------------------
Process finished with exit code 0
因此,正如您所看到的,第一步是maven资源插件:2.6:resources
。我从中了解到,当我们指定一个阶段时,所有之前的阶段都会执行到所选的阶段。根据maven文件:
此命令在执行安装之前,按顺序执行每个默认生命周期阶段(验证、编译、打包等)。您只需要调用要执行的最后一个构建阶段,在这种情况下,请安装
为什么它要跳过清理
和验证
阶段
编辑:
我在运行配置
部分也有清理
阶段,但结果是一样的:
Maven有3种不同的内置功能 有三个内置的构建生命周期:默认、清理和站点
install
是默认生命周期的一部分,执行install
时没有理由执行clean
至于validate
它没有内置绑定,这意味着它不会:
此外,构建阶段也可以有零个或多个目标。如果构建阶段没有绑定目标,则该构建阶段将不会执行
默认生命周期不包括
clean
。检查
引述:
例如,默认生命周期包括以下阶段
(有关生命周期阶段的完整列表,请参阅生命周期
参考资料):
- 验证-验证项目是否正确以及所有必要的 信息是可用的
- 编译-编译 计划
- 测试-使用合适的单元测试编译的源代码 测试框架。这些测试不应要求对代码进行打包 或部署
- package-将编译后的代码打包到 可分发的格式,如JAR李>
- 验证-在上运行任何检查 确保符合质量标准的集成测试结果
- 安装-将包安装到本地存储库中,用作 本地其他项目中的依赖关系
- 部署-在构建中完成 环境中,将最终的包复制到远程存储库中,以便 与其他开发人员和项目共享
validate
阶段与打包.jar
文件的默认生命周期没有关联
检查文档底部JAR文件的默认生命周期绑定Hmm,我不会回答,因为我不知道maven应该在所选阶段之前执行所有之前的阶段。但是,一种解决方法是创建一个maven目标配置,并指定
clean validate install
作为目标。@MarDev我在运行配置中有clean
阶段。我将更新问题clean
可能只是一个奇怪的情况,因为我记得在执行许多任务时必须指定clean install
——让我查看文档,默认生命周期不包括clean
生命周期-该clean
生命周期与默认生命周期是分开的-检查链接到的文档因为您正在打包.jar
文件,默认生命周期不包括要执行的阶段列表中的验证(参见默认生命周期绑定参考列表中的文档底部,请参见@Oleg的答案。Default Lifecycle
和clean
生命周期和site
生命周期之间的区别。@khmarbaise我同意,这是一个更好的答案。。我相应地提高了投票。