Fork me on GitHub

mn:run

Full name:

io.micronaut.maven:micronaut-maven-plugin:4.5.3:run

Description:

Executes a Micronaut application in development mode.

It watches for changes in the project tree. If there are changes in the pom.xml file, dependencies will be reloaded. If the changes are anywhere underneath src/main, it will recompile the project and restart the application.

The plugin can handle changes in all the languages supported by Micronaut: Java, Kotlin and Groovy.

Attributes:

  • Requires a Maven project to be executed.
  • Executes as an aggregator goal.
  • Requires dependency resolution of artifacts in scope: compile+runtime.
  • The goal is not marked as thread-safe and thus does not support parallel builds.
  • Since version: 1.0.0.
  • Binds by default to the lifecycle phase: prepare-package.
  • Invokes the execution of the following lifecycle phase prior to executing itself: process-classes.

Required Parameters

Name Type Since Description
<buildDirectory> File - No description.
Default: ${project.build.directory}
<mainClass> String - The main class of the application, as defined in the Exec Maven Plugin.
Default: ${exec.mainClass}
<testResourcesVersion> String - Micronaut Test Resources version. Should be defined by the Micronaut BOM, but this parameter can be used to define a different version.
User Property: micronaut.test.resources.version

Optional Parameters

Name Type Since Description
<aotEnabled> boolean - Whether to enable or disable Micronaut AOT.
Default: false
User Property: micronaut.aot.enabled
<appArguments> String - List of additional arguments that will be passed to the application, after the class name.
User Property: mn.appArgs
<classpathInference> Boolean - If set to true, Micronaut will attempt to infer which dependencies should be added to the Test Resources server classpath, based on the project dependencies. In general the result will consist of modules from the test-resources project, but it may consist of additional entries, for example database drivers.
Default: true
<clientTimeout> Integer - Configures the maximum amount of time to wait for the server to start a test resource. Some containeres may take a long amount of time to start with slow internet connections.
Default: 60
User Property: micronaut.test.resources.client-timeout
<debug> boolean - Whether to start the Micronaut application in debug mode.
Default: false
User Property: mn.debug
<debugHost> String - The host where remote debuggers can connect.
Default: 127.0.0.1
User Property: mn.debug.host
<debugPort> int - The port where remote debuggers can be attached to.
Default: 5005
User Property: mn.debug.port
<debugServer> boolean 4.2.0 Allows starting the test resources server in debug mode. The server will be started with the ability to attach a remote debugger on port 8000.
Default: false
User Property: micronaut.test.resources.debug-server
<debugSuspend> boolean - Whether to suspend the execution of the application when running in debug mode.
Default: false
User Property: mn.debug.suspend
<explicitPort> Integer - By default, the Test Resources server will be started on a random (available) port, but it can be set a fixed port by using this parameter.
User Property: micronaut.test.resources.port
<jvmArguments> String -

List of additional arguments that will be passed to the JVM process, such as Java agent properties.

When using the command line, user properties will be passed through, eg: mnv mn:run -Dmicronaut.environments=dev.


User Property: mn.jvmArgs
<serverIdleTimeoutMinutes> Integer 4.2.0 Configures the duration after which the test resources service will automatically shut down if it doesn't get any request.
User Property: micronaut.test.resources.server-idle-timeout-minutes
<shared> boolean - Whether the test resources service should be shared between independent builds (e.g different projects, even built with different build tools).
Default: false
User Property: micronaut.test.resources.shared
<sharedServerNamespace> String 3.5.1 Allows configuring a namespace for the shared test resources server. This can be used in case it makes sense to have different instances of shared services, for example when independent builds sets share different services.
User Property: micronaut.test.resources.namespace
<testResourcesDependencies> List<Dependency> - Additional dependencies to add to the Test Resources server classpath when not using classpath inference, or when the inference doesn't produce the desired result.
<testResourcesEnabled> boolean - Whether to enable or disable Micronaut test resources support.
Default: false
User Property: micronaut.test.resources.enabled
<watchForChanges> boolean - Whether to watch for changes, or finish the execution after the first run.
Default: true
User Property: mn.watch
<watches> List<FileSet> - List of inclusion/exclusion paths that should not trigger an application restart. For example, you can exclude a particular directory from being watched by adding the following configuration:
    <watches>
        <watch>
            <directory>.some-dir</directory>
            <excludes>
                <exclude>**/*</exclude>
            </excludes>
        </watch>
    </watches>
Check the FileSet documentation for more details.
See also: FileSet

Parameter Details

<aotEnabled>

Whether to enable or disable Micronaut AOT.
  • Type: boolean
  • Required: No
  • User Property: micronaut.aot.enabled
  • Default: false

<appArguments>

List of additional arguments that will be passed to the application, after the class name.
  • Type: java.lang.String
  • Required: No
  • User Property: mn.appArgs

<buildDirectory>

No description.
  • Type: java.io.File
  • Required: Yes
  • Default: ${project.build.directory}

<classpathInference>

If set to true, Micronaut will attempt to infer which dependencies should be added to the Test Resources server classpath, based on the project dependencies. In general the result will consist of modules from the test-resources project, but it may consist of additional entries, for example database drivers.
  • Type: java.lang.Boolean
  • Required: No
  • Default: true

<clientTimeout>

Configures the maximum amount of time to wait for the server to start a test resource. Some containeres may take a long amount of time to start with slow internet connections.
  • Type: java.lang.Integer
  • Required: No
  • User Property: micronaut.test.resources.client-timeout
  • Default: 60

<debug>

Whether to start the Micronaut application in debug mode.
  • Type: boolean
  • Required: No
  • User Property: mn.debug
  • Default: false

<debugHost>

The host where remote debuggers can connect.
  • Type: java.lang.String
  • Required: No
  • User Property: mn.debug.host
  • Default: 127.0.0.1

<debugPort>

The port where remote debuggers can be attached to.
  • Type: int
  • Required: No
  • User Property: mn.debug.port
  • Default: 5005

<debugServer>

Allows starting the test resources server in debug mode. The server will be started with the ability to attach a remote debugger on port 8000.
  • Type: boolean
  • Since: 4.2.0
  • Required: No
  • User Property: micronaut.test.resources.debug-server
  • Default: false

<debugSuspend>

Whether to suspend the execution of the application when running in debug mode.
  • Type: boolean
  • Required: No
  • User Property: mn.debug.suspend
  • Default: false

<explicitPort>

By default, the Test Resources server will be started on a random (available) port, but it can be set a fixed port by using this parameter.
  • Type: java.lang.Integer
  • Required: No
  • User Property: micronaut.test.resources.port

<jvmArguments>

List of additional arguments that will be passed to the JVM process, such as Java agent properties.

When using the command line, user properties will be passed through, eg: mnv mn:run -Dmicronaut.environments=dev.

  • Type: java.lang.String
  • Required: No
  • User Property: mn.jvmArgs

<mainClass>

The main class of the application, as defined in the Exec Maven Plugin.
  • Type: java.lang.String
  • Required: Yes
  • Default: ${exec.mainClass}

<serverIdleTimeoutMinutes>

Configures the duration after which the test resources service will automatically shut down if it doesn't get any request.
  • Type: java.lang.Integer
  • Since: 4.2.0
  • Required: No
  • User Property: micronaut.test.resources.server-idle-timeout-minutes

<shared>

Whether the test resources service should be shared between independent builds (e.g different projects, even built with different build tools).
  • Type: boolean
  • Required: No
  • User Property: micronaut.test.resources.shared
  • Default: false

<sharedServerNamespace>

Allows configuring a namespace for the shared test resources server. This can be used in case it makes sense to have different instances of shared services, for example when independent builds sets share different services.
  • Type: java.lang.String
  • Since: 3.5.1
  • Required: No
  • User Property: micronaut.test.resources.namespace

<testResourcesDependencies>

Additional dependencies to add to the Test Resources server classpath when not using classpath inference, or when the inference doesn't produce the desired result.
  • Type: java.util.List<org.apache.maven.model.Dependency>
  • Required: No

<testResourcesEnabled>

Whether to enable or disable Micronaut test resources support.
  • Type: boolean
  • Required: No
  • User Property: micronaut.test.resources.enabled
  • Default: false

<testResourcesVersion>

Micronaut Test Resources version. Should be defined by the Micronaut BOM, but this parameter can be used to define a different version.
  • Type: java.lang.String
  • Required: Yes
  • User Property: micronaut.test.resources.version

<watchForChanges>

Whether to watch for changes, or finish the execution after the first run.
  • Type: boolean
  • Required: No
  • User Property: mn.watch
  • Default: true

<watches>

List of inclusion/exclusion paths that should not trigger an application restart. For example, you can exclude a particular directory from being watched by adding the following configuration:
    <watches>
        <watch>
            <directory>.some-dir</directory>
            <excludes>
                <exclude>**/*</exclude>
            </excludes>
        </watch>
    </watches>
Check the FileSet documentation for more details.
See also: FileSet
  • Type: java.util.List<org.apache.maven.model.FileSet>
  • Required: No