JAVA_HOME gets mangled by Maven

Thats the down side of external links in an accepted answer. Codehaus shut down and thus the solution is gone. For reference here’s the content behind the link – you basically only need to copy the <dependencies>...</dependencies> block to your antrun plugin…

The maven-antrun-plugin runs ant with JAVA_HOME set to the jre subdirectory of the JDK, even if the JAVA_HOME for the overall run is a JDK.
There is documentation elsewhere about how to create a dependency at the project level for the JDK’s tools.jar, but this does not help out antrun, which is a plugin.
The following profile does the job. The ‘..’ in the path hauls up past the ‘jre’ directory to the lib directory.

<profiles>
      <profile>
          <id>tools.jar</id>
          <build>
            <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-antrun-plugin</artifactId>
              <dependencies>
                <dependency>
                  <groupId>com.sun</groupId>
                  <artifactId>tools</artifactId>
                  <version>1.5.0</version>
                  <scope>system</scope>
                  <systemPath>${java.home}/../lib/tools.jar</systemPath>
                </dependency>
              </dependencies>
            </plugin>
            </plugins>
          </build>
      </profile>

Leave a Comment