maven-plugin - spring-boot maven 插件重新运行编译和测试阶段

标签 maven-plugin spring-boot

使用 spring-boot-maven-plugin 运行和重新打包目标都会导致我的编译和测试阶段重新运行,例如

mvn clean package spring-boot:run

您会看到两次编译和测试运行...

在maven调试输出中我可以看到

...
[DEBUG] Goal:          org.springframework.boot:spring-boot-maven-plugin:1.0.2.RELEASE:repackage (default)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <finalName default-value="${project.build.finalName}"/>
  <outputDirectory default-value="${project.build.directory}"/>
  <project default-value="${project}"/>
</configuration>
[DEBUG] --- init fork of myapp:1.0-SNAPSHOT for     org.springframework.boot:spring-boot-maven-plugin:1.0.2.RELEASE:run (default-cli) ---
[DEBUG] Dependencies (collect): []
[DEBUG] Dependencies (resolve): [compile, test]
[DEBUG] -----------------------------------------------------------------------

查看插件源代码类,我明白了 RunMojo amd RepackageMojo

@Mojo(name = "run", requiresProject = true, defaultPhase = LifecyclePhase.VALIDATE, requiresDependencyResolution = ResolutionScope.TEST)
@Execute(phase = LifecyclePhase.TEST_COMPILE)
public class RunMojo extends AbstractMojo {

认为 @Execute 与此有关?

谢谢

最佳答案

是的。为什么不直接使用“mvn spring-boot:run”?据我所知,这就是 Maven 的工作方式。

关于maven-plugin - spring-boot maven 插件重新运行编译和测试阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23805466/

相关文章:

java - 在本地安装maven插件

java - 无法在项目 angular-ssr-example 上执行目标 org.apache.maven.plugins :maven-compiler-plugin:3. 7.0:compile (default-compile)

Maven 插件所需参数

Maven 插件 java.library.path

spring - 模拟第三方 API 时获取 "reactor.netty.http.client.PrematureCloseException: Connection prematurely closed BEFORE response"

maven - 要求对传递依赖项有明确的 Maven 依赖项

spring - 无论如何,是否可以扩展 JPA 存储库并使用定义的抽象类扩展另一个接口(interface)?

java - Camunda - 数据库快速增长问题

spring-boot - Maven仅使用jar文件找不到依赖项

java - 有没有办法使用java程序获取docker容器内的主机Mac和IP地址