ant编译部分与路径部分
 <!--compile-->
  <target name="compile" depends="init,deps-jar">
    <echo message="Compiling plugin: ${src.java}/org/apache/nutch/clustering"/>
    <javac 
     encoding="utf-8" 
     srcdir="${src.dir}"
     includes="**/*.java"
     destdir="${build.classes}"
     debug="${javac.debug}"
     optimize="${javac.optimize}"
     deprecation="${javac.deprecation}">
      <classpath refid="classpath"/>
    </javac>
  </target>
路径部分的:
 <path id="classpath">
     <fileset dir="${root}/lib">
         <include name="*.jar"/>
     </fileset>
     <pathelement location="${nutch.root}/build/classes"/>
     <fileset dir="${nutch.root}/lib">
         <include name="*.jar"/>
     </fileset> 
     <fileset dir="${src.java}/org/apache/nutch/clustering">
         <include name="**/*.java"/>
     </fileset>
     <fileset dir="${src.java}/org/apache/lucene">
         <include name="**/*.java"/>
     </fileset>
  </path>红色部分是路径 后面编译就说这部分的类找不到了
编译类放在F:\trade\src\plugin\clustering-carrot2\src\java\org\apache\nutch\clustering\carrot2这个包下面
而里面引用的类放在了:F:\trade\src\java\org\apache\nutch\clustering这个下面
我通过ehco把${src.java}/org/apache/nutch/clustering显示出来,没有为问题的。

解决方案 »

  1.   

    <fileset dir="${src.java}" includes="**/*.java"/>不要把属于包名的部分也加进去。
      

  2.   

    编译类放在F:\trade\src\plugin\clustering-carrot2\src\java\org\apache\nutch\clustering\carrot2这个包下面
    而里面引用的类放在了:F:\trade\src\java\org\apache\nutch\clustering这个下面
     
    已经说的很具体了,没有找到这个包。或者你把包放在F:\trade\src\plugin\clustering-carrot2\src\java\org\apache\nutch\clustering\carrot2路径下 
    或者你修改你的编译路径。正如lz所说