【问题标题】:Ant buildfile does not contain a javac taskAnt buildfile 不包含 javac 任务
【发布时间】:2012-06-02 15:14:33
【问题描述】:

我有 build.xml 文件,我想从现有 Ant Buildfile 创建 Java 项目。但我有一个错误:指定的构建文件不包含 javac 任务 我的文件结构简单:

<project>
     <target ...>
     </target>
     ...
</project>

【问题讨论】:

  • 它有 javac 任务吗?如果您的构建文件不包含编译 Java 源代码,您希望 eclipse 做什么?
  • 您可以指定构建所有项目的宏,类似于使用 Maven 设置父/模块。我有同样的问题;我可以从命令行构建项目,但无法导入 Eclipse。

标签: eclipse jakarta-ee


【解决方案1】:

为您的 build.xml 提供 javac,如下所示:

<javac srcdir="src" destdir="bin" />

【讨论】:

  • 尽管我只在顶层 build.xml 中包含了其他 build.xml 文件,但我只提供了一些 javac 任务,其中 srcdir 指向顶层目录以使 Eclipse 满意;)。现在我可以看到所有源和所有底层 build.xml 文件,我可以将它们导入 Ant View 并执行它们的目标。
【解决方案2】:

正如 Puneet Pandey 指出的那样,当您的 build.xml 文件缺少 &lt;javac&gt; XML 元素时会发生此错误。

build.xml 文件(称为javac task)中的&lt;javac&gt; XML 元素告诉编译器或 IDE(在本例中为 Eclipse)用于编译源 Java 文件的位置。一旦您知道应该很清楚为什么 Eclipse 不能在没有 &lt;javac&gt; XML 元素的情况下导入您的 build.xml。

如果您不确定在哪里粘贴&lt;javac&gt; 标签,我将添加一个稍微完整的示例。您需要导航到您的build.xml 并对其进行编辑,使其在&lt;project&gt; 标记内部 的相应部分中包含&lt;javac&gt; 行。

<project ...>
  <javac srcdir="src" destdir="bin" />
  <target ...>
  </target>
  ...
</project>

【讨论】:

    【解决方案3】:

    你需要这样的东西,

        <target name="compile">
      <javac destdir="build/classes" srcdir="src" includeantruntime="false">
        <classpath refid="compile.classpath"/>
      </javac>
      </target>
    
        <target name="war" depends="compile">   
      <war destfile="build/${name}.war" webxml="WebContent/WEB-INF/web.xml">
       <fileset dir="WebContent" casesensitive="no">
       </fileset>
       <lib dir="WebContent/WEB-INF/lib"/>
       <classes dir="build/classes">
       </classes>   
      </war>
    </target>
    

    【讨论】:

      猜你喜欢
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-23
      • 2023-03-22
      相关资源
      最近更新 更多