diff --git a/quarkus/server/pom.xml b/quarkus/server/pom.xml index 8d23b75ccae7..61709d496a1e 100644 --- a/quarkus/server/pom.xml +++ b/quarkus/server/pom.xml @@ -21,6 +21,12 @@ + + + + ${project.build.directory}/kc + + keycloak @@ -39,6 +45,9 @@ ${quarkus.version} keycloak + + ${kc.home.dir} + diff --git a/quarkus/server/src/main/java/org/keycloak/quarkus/_private/IDELauncher.java b/quarkus/server/src/main/java/org/keycloak/quarkus/_private/IDELauncher.java index c1e59ff7e925..ebdfc3152a6d 100644 --- a/quarkus/server/src/main/java/org/keycloak/quarkus/_private/IDELauncher.java +++ b/quarkus/server/src/main/java/org/keycloak/quarkus/_private/IDELauncher.java @@ -1,5 +1,8 @@ package org.keycloak.quarkus._private; +import java.io.File; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -27,6 +30,13 @@ public class IDELauncher { public static void main(String[] args) { List devArgs = new ArrayList<>(); + if (System.getProperty("kc.home.dir") == null) { + // direct the auto-created files to the target folder, so they are cleaned by "mvn clean" + // users can still provide a different folder by setting the property when starting it from their IDE. + Path path = Paths.get(System.getProperty("user.dir"), "target", "kc"); + System.setProperty("kc.home.dir", path.toAbsolutePath().toString()); + } + devArgs.addAll(Arrays.asList(args)); if (devArgs.isEmpty()) {