How to print the actual MAVEN_OPTIONS that are being used?

后端 未结 5 1199
一个人的身影
一个人的身影 2021-02-20 03:35

Is there a way to get maven to output the value of environment and maven variables during a build? This would be very useful for debugging things when they\'re going wrong.

相关标签:
5条回答
  • 2021-02-20 04:13

    Add this plugin under plugins section in pom.xml and use mvn validate :

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-antrun-plugin</artifactId>
      <version>1.1</version>
      <executions>
        <execution>
          <phase>validate</phase>
          <goals>
            <goal>run</goal>
          </goals>
          <configuration>
            <tasks>
              <echo>Displaying value of system variables</echo>
              <echo> ${env.YOUR_ENVIRONMENT_VARIABLE_NAME}</echo>
            </tasks>
          </configuration>
        </execution>
      </executions>
    </plugin>
    

    This will print your env variable value.

    0 讨论(0)
  • 2021-02-20 04:14

    Adding an option to the already provided answers.

    There are different ways to pass JVM options to mvn as per https://maven.apache.org/configure.html you can do it using environment variable (MAVEN_OPTS) or file (${maven.projectBasedir}/.mvn/jvm.config).

    I wanted to see which is picked up, and did so by starting a build then followed a ps listing to assert what was picked up, eg

    ps -ef | grep SomeOption
    
    0 讨论(0)
  • 2021-02-20 04:18

    You can use Maven Help Plugin and help:system goal, so your pom will be:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>testMavenOpt</groupId>
        <artifactId>testMavenOpt</artifactId>
        <packaging>jar</packaging>
        <version>1.0-SNAPSHOT</version>
        <name>testMavenOpt</name>
        <url>http://maven.apache.org</url>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.1</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-help-plugin</artifactId>
                    <version>2.1</version>
                </plugin>
            </plugins>
        </build>
    </project>
    

    and you should execute mvn help:system

    0 讨论(0)
  • 2021-02-20 04:19

    Run your maven with -X or --debug options

    Command line example:

    mvn clean compile --debug
    

    You'll see environment information on your console.

    0 讨论(0)
  • 2021-02-20 04:20

    It'll require some changes to the pom.

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-antrun-plugin</artifactId>
      <version>1.1</version>
      <executions>
        <execution>
          <phase>validate</phase>
          <goals>
            <goal>run</goal>
          </goals>
          <configuration>
            <tasks>
              <echo>[MAVEN_OPTIONS]${env.MAVEN_OPTIONS}</echo>
            </tasks>
          </configuration>
        </execution>
      </executions>
    </plugin>
    

    Of course, it might be simplest to run

    echo $MAVEN_OPTS
    
    0 讨论(0)
提交回复
热议问题