Java Can';从maven调用时,不能使用ant构建

Java Can';从maven调用时,不能使用ant构建,java,maven,ant,build,Java,Maven,Ant,Build,我有一个ant构建文件,当它自己调用时可以工作。当我从maven调用它时,前几个任务执行得很好(init、clean等),但构建失败: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (compile) on project maven-stream: An Ant BuildException has occur ed: The following error occurre

我有一个ant构建文件,当它自己调用时可以工作。当我从maven调用它时,前几个任务执行得很好(init、clean等),但构建失败:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (compile) on project maven-stream: An Ant BuildException has occur
ed: The following error occurred while executing this line:
[ERROR] C:\maven_projects\cm\Qlarius Underwriter\build.xml:24: Unable to find a javac compiler;
[ERROR] com.sun.tools.javac.Main is not on the classpath.
[ERROR] Perhaps JAVA_HOME does not point to the JDK.
[ERROR] It is currently set to "C:\Program Files\Java\jdk1.7.0_07\jre"
[ERROR] around Ant part ...<ant antfile="C:\maven_projects\cm/Qlarius Underwriter/build.xml">... @ 4:69 in C:\maven_projects\cm\target\antrun\build-ma
in.xml
[ERROR]无法执行goal org.apache.maven.plugins:maven-antrun-plugin:1.7:project-maven-stream上运行(编译):发生Ant构建异常
ed:执行此行时发生以下错误:
[错误]C:\maven\u projects\cm\Qlarius unsumer\build.xml:24:找不到javac编译器;
[错误]com.sun.tools.javac.Main不在类路径上。
[错误]可能JAVA_HOME没有指向JDK。
[错误]当前设置为“C:\Program Files\Java\jdk1.7.0\U 07\jre”
[错误]蚂蚁部分周围……@C:\maven\u projects\cm\target\antrun\build ma中的4:69
in.xml
为什么ant在直接调用而不是通过maven调用时会找到java

pom.xml文件的ant部分是:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
      <execution>
        <id>compile</id>
        <phase>compile</phase>
        <configuration>
          <target>
            <ant antfile="${basedir}/Qlarius Underwriter/build.xml">
              <target name="LifeQuote"/>
            </ant>
          </target>
        </configuration>
        <goals>
          <goal>run</goal>
        </goals>
      </execution>
    </executions>
</plugin>

org.apache.maven.plugins
maven antrun插件
1.7
编译
编译
跑

错误提示您没有指向JDK。您需要将JAVA_HOME更改为JDK的根,而不是JRE。这样它就可以找到
javac


其他任务
init
clean
如果不使用
javac

我指的是一个JDK,可能就可以了。否则,直接从ant调用时,构建将无法工作。我无法确定从maven而不是antC:\maven_projects\cm>echo%java_home%C:\Program Files\java\jdk1.7.0\u 07调用jdk时为什么找不到jdk。您需要这个
-Djava.home=${java_home}
,mvnI在pom.xml文件的ant区域添加了以下内容,似乎已经解决了这个问题:com.suntools 1.7.0 system${java.home}/./lib/tools.jar