Použitím modulu jarný boot-maven-plug-obidva spustiť a re-balenie cieľ spôsobiť mojej kompilácie a skúšobnej fáze, aby sa znova, napr.
mvn clean package spring-boot:run
a uvidíte dve zostavy a testy ...
v maven debug ven dal som vidieť
...
[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] -----------------------------------------------------------------------
A pri pohľade na triedy zdrojového kódu doplnku RunMojo amd RepackageMojo vidím
@Mojo(name = "run", requiresProject = true, defaultPhase = LifecyclePhase.VALIDATE, requiresDependencyResolution = ResolutionScope.TEST)
@Execute(phase = LifecyclePhase.TEST_COMPILE)
public class RunMojo extends AbstractMojo {
Myslíte si, že @Execute má s tým niečo spoločné?
Vďaka
odpovede:
2 pre odpoveď č. 1Áno. Prečo nepoužívate len "mvn spring-boot: run"? Pokiaľ viem, to je práve spôsob, akým Maven funguje.
0 pre odpoveď č. 2
Môj zlý ... to je vlastne plugin cobertura, ktorý robí to, čo je zrozumiteľné, pretože potrebuje prekompilovať zdroj, aby ho dokázal pokryť.