1

我想编译一个Java文件。在控制台上我这样做:

javac -cp "/home/user/java/ClickRecommender/build:/home/user/java/ClickRecommender/src/.:/home/user/java/ClickRecommender/libs/*" visualization/VisualizeCorrelationMatrix.java 

这工作正常。但我必须改用自建的 ant 脚本。使用“ant -v”执行我的 ant 脚本时,我得到使用以下类路径的信息:

init:
    [mkdir] Skipping /home/user/java/ClickRecommender/build because it already exists.

baseclasses:
    [javac] /home/user/java/ClickRecommender/src/visualization/VisualizeCorrelationMatrix.class skipped - don't know how to handle it
    [javac] VisualizeCorrelationMatrix.java added as VisualizeCorrelationMatrix.class doesn't exist.
    [javac] Compiling 1 source file to /home/user/java/ClickRecommender/build
    [javac] Using modern compiler
adding /home/user/java/ClickRecommender/libs/* which contains wildcards and may not do what you intend it to do depending on your OS or version of Java
adding /home/user/java/ClickRecommender/libs/* which contains wildcards and may not do what you intend it to do depending on your OS or version of Java
    [javac] Compilation arguments:
    [javac] '-d'
    [javac] '/home/user/java/ClickRecommender/build'
    [javac] '-classpath'
    [javac] '/home/user/java/ClickRecommender/build:/home/user/java/ClickRecommender/src:/home/user/java/ClickRecommender/libs/*'
    [javac] '-sourcepath'
    [javac] '/home/user/java/ClickRecommender/src/visualization'
    [javac] '-g:none'
    [javac] 
    [javac] The ' characters around the executable and arguments are
    [javac] not part of the command.
    [javac] File to be compiled:
    [javac]     /home/user/java/ClickRecommender/src/visualization/VisualizeCorrelationMatrix.java
    [javac] /home/user/java/ClickRecommender/src/visualization/VisualizeCorrelationMatrix.java:16: cannot find symbol
    [javac] symbol  : method columns()
    [javac] location: class recommender.CorrelationMatrix
    [javac]         int N = cm.columns();
    [javac]                   ^

    [javac] 4 errors

    BUILD FAILED

这就是我的 ant 脚本的样子:

<?xml version="1.0"?> 
<project name="ClickRecommender" default="compile" basedir="."> 

     <property name="src" value="."/> 
     <property name="build" value="../build"/>
     <property name="jars" value="../libs/"/>

     <target name="init">  
          <mkdir dir="${build}"/>
     </target>

     <target name="baseclasses" depends="init"> 
          <!-- Compile the java code -->
          <javac includeantruntime="false" srcdir="${src}/visualization" destdir="${build}" classpath="${src}:${jars}*"/>
...

这里出了什么问题???

4

0 回答 0