From 60d60a8304e89ae0b510aab045b6f477a8a10c1c Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 24 May 2019 20:49:03 +0100 Subject: [PATCH] Use basedir as forked JVM's working directory in Maven plugin Fixes gh-16811 --- .../run-fork/src/main/java/org/test/SampleApplication.java | 6 ++++-- .../spring-boot-maven-plugin/src/it/run-fork/verify.groovy | 2 +- .../org/springframework/boot/maven/AbstractRunMojo.java | 5 ++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/it/run-fork/src/main/java/org/test/SampleApplication.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/it/run-fork/src/main/java/org/test/SampleApplication.java index 63618c4c6af..e2178b4942e 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/it/run-fork/src/main/java/org/test/SampleApplication.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/it/run-fork/src/main/java/org/test/SampleApplication.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2017 the original author or authors. + * Copyright 2012-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,10 +16,12 @@ package org.test; +import java.io.File; + public class SampleApplication { public static void main(String[] args) { - System.out.println("I haz been run"); + System.out.println("I haz been run from '" + new File("").getAbsolutePath() + "'"); } } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/it/run-fork/verify.groovy b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/it/run-fork/verify.groovy index 841c4a97de5..323ffc863b2 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/it/run-fork/verify.groovy +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/it/run-fork/verify.groovy @@ -1,3 +1,3 @@ def file = new File(basedir, "build.log") -return file.text.contains("I haz been run") +return file.text.contains("I haz been run from '$basedir'") diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractRunMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractRunMojo.java index c5e3c15f269..2a613f406b3 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractRunMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractRunMojo.java @@ -281,7 +281,10 @@ public abstract class AbstractRunMojo extends AbstractDependencyFilterMojo { addClasspath(args); args.add(startClassName); addArgs(args); - runWithForkedJvm(this.workingDirectory, args, determineEnvironmentVariables()); + runWithForkedJvm( + (this.workingDirectory != null) ? this.workingDirectory + : this.project.getBasedir(), + args, determineEnvironmentVariables()); } /**