2011-09-21 127 views
0
<target name="compile.src" depends="init" description="compile the source code " > 
     <javac srcdir="${src}" destdir="${build}/src"> 

      <classpath> 
       <fileset dir="lib"> 
        <include name="**/*.jar"/> 
       </fileset> 
      </classpath> 
     <compilerarg value="-Xlint"/> 
     </javac> 
    </target> 

<path id="classpath.test"> 
    <fileset dir="${basedir}/lib"> 
     <include name="**/*.jar"/> 
    </fileset> 
    <fileset dir="${build}/src"> 
      <include name="**/*.class"/> 
    </fileset> 
</path> 

<echo>${src.test} and tausif ${build}\test </echo> 
<target name="compile.test" depends="compile.src" description="compile the test code " > 
     <javac srcdir="${src.test}" destdir="${build}/test" debug="true" classpathref="classpath.test"> 
      <!--classpath refid="classpath.test" /--> 
     <compilerarg value="-Xlint"/> 
     </javac> 
</target> 

我的项目结构是蚂蚁编译错误

project 
    > src 
     > example.samplePackage 
    > test 
     > example.samplePackage 

我试图编译SRC第一源文件夹,然后试图包括所有的类文件在编译测试源文件夹中的类似封装结构中的junit测试用例时。 但它显示在下面的Error.Please建议的东西。

[javac] C:\Project\test\examples\samplePackage\SampleTest.java:9: cannot find symbol 
    [javac] symbol : class Sample 
    [javac] location: package examples.samplePackage 
    [javac] import example.samplePackage.Sample; 
            ^

回答

0

你compile.test Ant目标使用该声明为compile.test类路径:

<path id="classpath.test"> 
<fileset dir="${basedir}/lib"> 
    <include name="**/*.jar"/> 
</fileset> 
<fileset dir="${build}/src"> 
     <include name="**/*.class"/> 
</fileset> 

的是:在那些 “C:\项目\测试\” 文件夹?

+0

no实际上我只给出了名字..但是C:\ Project \ test不在其中..只有一些jars像junit和其他以及从目标编译的类compile.src我已经包含在文件集中。我的Sample.java文件位于源文件夹'src'中,而testcase位于项目中的源文件夹'test'中 –

+0

尝试将srcdir =“$ {src.test}”更改为srcdir =“$ {src}/**” –

+0

谢谢,上面的解决方案没有奏效。我使用pathelement而不是fileset来为测试类文件添加classpath,它工作正常。 –