【问题标题】:Compiles via command line but not in ant通过命令行而不是在 ant 中编译
【发布时间】:2013-06-04 03:59:30
【问题描述】:

我的 Java 项目通过终端编译(使用 Mac OSX 10.8),但不是在 Ant 1.9.1 中。我一直在尝试将这三行代码提炼成一个有效的 Ant 构建脚本。该行是:

javac -cp "./:./ij.jar:ij-ImageIO_.jar:flanagan.jar" org/rhwlab/image/ImageWindow.java

但是,我一直在尝试编写一个可以有效执行此过程的 Ant 构建脚本(如下):

    <target name="compile">
    <mkdir dir="${classes.dir}"/>
        <javac includeantruntime="false" srcdir="${src.dir}" destdir="${build.dir}"
        compiler="javac1.6" classpathref="classpath">
         <include name="org/rhwlab/image/ImageWindow.java"/>
         </javac>
     </target>  

但出现如下错误:

 Image3D2Z.java:9: package gov.noaa.pmel.sgt does not exist
 Analysis2.java:11: package gov.noaa.pmel.sgt.dm does not exist

如何让我的项目通过 Ant 编译?

【问题讨论】:

  • 在你的 Ant 构建中classpath 是如何定义的?
  • 类路径是:

标签: java ant compilation terminal


【解决方案1】:

似乎是一个类路径问题。尝试类似:

<path id="myclasspath">
  <fileset dir="${dir.path}">
    <include name="*.jar"/>
  </fileset>
</path>
...

<javac destdir="${build.dir}">
  <src path="${src.dir}"/>
  <classpath refid="myclasspath"/>
</javac>

【讨论】:

  • 类路径是
  • 我认为类路径和库都很好——我不明白为什么这个包可以通过命令行工作,但不能在 Ant 中工作
  • echo 并检查类路径是否确实正确。如果没问题,那就把classpathref改成refid
  • 如何回显 Ant 的类路径?
  • &lt;echo message="Classpath = ${myclasspath}"/&gt;
猜你喜欢
  • 2020-07-02
  • 1970-01-01
  • 2016-01-15
  • 2012-01-03
  • 1970-01-01
  • 2015-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多