Class EmbeddedMavenExecutor

java.lang.Object
org.apache.maven.executor.embedded.EmbeddedMavenExecutor
All Implemented Interfaces:
AutoCloseable, Executor

public class EmbeddedMavenExecutor extends Object implements Executor
Embedded executor implementation, that invokes Maven from installation directory within this same JVM but in isolated classloader. This class supports Maven 4.x and Maven 3.x as well. The ClassWorld of Maven is kept in memory as long as instance of this class is not closed. Subsequent execution requests over same installation home are cached.
  • Field Details

    • MVN4_MAIN_CLASSES

      protected static final Map<String,String> MVN4_MAIN_CLASSES
      Maven4 supports multiple commands from same installation directory.
    • installationDirectory

      protected final Path installationDirectory
    • useMavenArgsEnv

      protected final boolean useMavenArgsEnv
    • closed

      protected final AtomicBoolean closed
    • originalStdin

      protected final InputStream originalStdin
    • originalStdout

      protected final PrintStream originalStdout
    • originalStderr

      protected final PrintStream originalStderr
    • originalProperties

      protected final Properties originalProperties
    • originalClassLoader

      protected final ClassLoader originalClassLoader
    • contextMap

      protected final Map<Path,EmbeddedMavenExecutor.Context> contextMap
  • Constructor Details

    • EmbeddedMavenExecutor

      public EmbeddedMavenExecutor(Path installationDirectory)
    • EmbeddedMavenExecutor

      public EmbeddedMavenExecutor(Path installationDirectory, boolean useMavenArgsEnv)
  • Method Details