maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Grothaus, Christoph" <CGroth...@zeb.de>
Subject [m2] Antrun-Plugin <javac> not working
Date Tue, 14 Feb 2006 10:04:04 GMT
Hi there,

I have a problem here that didn't occur until yesterday. Have there been made any changes
to the maven-antrun-plugin or to how maven handles classpaths?

Situation: I have a multi-module J2EE project. In the EJB module I compile an EJB client,
not with the maven-ejb-plugin, as it doesn't fit my needs, but with the antrun plugin. It's
just the usual Ant <javac> task. You can see the way I call the antrun plugin below,
in the INPUT section.

Now what is strange: when I cd directly to the module and then call "mvn clean compile", everything
works fine. When I cd to the project top level directory and start a reactor build with "mvn
clean compile", I get an error that Ant is "Unable to find a javac compiler; com.sun.tools.javac.Main
is not on the classpath." 

Why that??? Look at my debug echo message I've put into the ant script, the output is in the
OUTPUT section. In the output you can clearly see that the last entry of the classpath is
tools.jar, and yes, the location is correct.


I'm desperate. Anyone any hints?

Christoph



------8<----Attachments-------------------------------------------------------


############################################
# INPUT
############################################


<plugin>
  <!--
    ################
    build EJB-Client
    ################
  -->
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <id>ejb-client-compile</id>
      <phase>compile</phase>
      <configuration>
        <tasks>
          <property environment="env" />
          <path id="ejb-client.classpath">
            <path refid="maven.plugin.classpath" />
            <path refid="maven.compile.classpath" />
            <!-- 
              WORKAROUND
            -->
            <fileset dir="${env.JAVA_HOME}/lib">
              <include name="tools.jar" />
            </fileset>
          </path>
          
          <property name="prop.ejb-client.classpath" refid="ejb-client.classpath" />
          <echo message="[DEBUG] The classpath is: ${prop.ejb-client.classpath}" />

   [...]
          
          <mkdir dir="${ejb-client.destdir}" />
          <javac destdir="${ejb-client.destdir}" classpathref="ejb-client.classpath"
              debug="${javac.debug}" deprecation="on" optimize="off" target="${javac.target}">
            <src path="${ejb-client.sourcedir}" />
          </javac>
        
        </tasks>
      </configuration>
      <goals>
        <goal>run</goal>
      </goals>
    </execution>
  </executions>
</plugin>





############################################
# OUTPUT
############################################

   [...]

[INFO] [antrun:run {execution: ejb-client-compile}]
[INFO] Executing tasks
     [echo] [DEBUG] The classpath is: D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\ant\ant-nodeps\1.6.5\ant-nodeps-1.6.5.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\ant\ant\1.6.5\ant-1.6.5.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\ant\ant-launcher\1.6.5\ant-launcher-1.6.5.jar;D:\ENTWICKLUNGSPROGRAMME\maven-2.0.2\lib\maven-project-2.0.2.jar;D:\ENTWICKLUNGSPROGRAMME\maven-2.0.2\lib\maven-plugin-api-2.0.2.jar;D:\ENTWICKLUNGSPROGRAMME\MAVENENTWICKLUNG\basel2maven\server\modules\ejb\generic\target\classes;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\org\hibernate\hibernate\3.0.5\hibernate-3.0.5.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\asm\asm-util\1.3.4\asm-util-1.3.4.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\cglib\cglib\2.1\cglib-2.1.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\log4j\log4j\1.2.8\log4j-1.2.8.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\commons-logging\commons-logging\1.0.4\commons-logging-1.0.4.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\dom4j\dom4j\1.6\dom4j-1.6.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\ehcache\ehcache\1.1\ehcache-1.1.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\commons-lang\commons-lang\2.0\commons-lang-2.0.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\asm\asm-attrs\1.5.3\asm-attrs-1.5.3.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\rhino\js\1.6R2\js-1.6R2.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\javax\j2ee\j2ee\1.3.1\j2ee-1.3.1.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\asm\asm\1.5.3\asm-1.5.3.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\commons-collections\commons-collections\2.1.1\commons-collections-2.1.1.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\aspectwerkz\aspectwerkz-core\0.8.1\aspectwerkz-core-0.8.1.jar;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\de\zeb\license-manager\1.0\license-manager-1.0.jar;D:\ENTWICKLUNGSPROGRAMME\MAVENENTWICKLUNG\basel2maven\server\modules\properties\target\classes;D:\ENTWICKLUNGSPROGRAMME\maven-local-repository\hibernate\antlr\2.7.5H3\antlr-2.7.5H3.jar;D:\ENTWICKLUNGSPROGRAMME\java\j2sdk1.4.2_05\lib\tools.jar
    [javac] Compiling 21 source files to D:\ENTWICKLUNGSPROGRAMME\MAVENENTWICKLUNG\basel2maven\server\modules\ejb\generic\target\ejb-client-classes
[INFO] ----------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ----------------------------------------------------------------------------
[INFO] Error executing ant tasks

Embedded error: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Mime
View raw message