我以前在Eclipse中处理过这样的错误,但我不知道为什么我这次得到它。我在Build Path以及我的“lib”文件夹中都有Apache Commons IO库。在Eclipse中找不到Java导入?
我给出了下面的错误。这非常简单。
[javac] Compiling 3 source files to C:\Users\Justian\workspaces\ConnectionCompiler\build
[javac] C:\Users\Justian\workspaces\ConnectionCompiler\src\jab\jm\readers\ExcelReader.java:5: package org.apache.commons.io does not exist
[javac] import org.apache.commons.io.FileUtils;
[javac] ^
[javac] C:\Users\Justian\workspaces\ConnectionCompiler\src\jab\jm\readers\FileManager.java:5: package org.apache.commons.io does not exist
[javac] import org.apache.commons.io.FileUtils;
[javac] ^
[javac] C:\Users\Justian\workspaces\ConnectionCompiler\src\jab\jm\readers\FileManager.java:12: cannot find symbol
[javac] symbol : variable FileUtils
[javac] location: class jab.jm.readers.FileManager
[javac] return FileUtils.convertFileCollectionToFileArray(FileUtils.listFiles(
[javac] ^
[javac] C:\Users\Justian\workspaces\ConnectionCompiler\src\jab\jm\readers\FileManager.java:12: cannot find symbol
[javac] symbol : variable FileUtils
[javac] location: class jab.jm.readers.FileManager
[javac] return FileUtils.convertFileCollectionToFileArray(FileUtils.listFiles(
[javac] ^
[javac] 4 errors
为什么不能导入类?甚至建议我使用Eclipse的自动更正来添加特定的一个。
非常感谢!
瑞斯蒂昂
编辑:
哦。抱歉。一次处理多件事。当然这将是一个Ant问题。
好的。这是我的构建文件。有趣的是,这在过去有效。为什么现在不行?
<?xml version="1.0" ?>
<project name="ServerJar" default="dist" basedir=".">
<description>
Builds client files into .jar
</description>
<!-- [build variables] -->
<property name="src" location="src" />
<property name="build" location="build" />
<property name="dist" location="dist" />
<target name="init">
<!-- makes time stamp to be used in jar name -->
<tstamp />
<!-- creates build directory structure -->
<mkdir dir="${build}" />
</target>
<target name="compile" depends="init" description="Compiles the source">
<!-- compiles the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${build}" />
</target>
<target name="dist" depends="compile" description="Generates distributable">
<!-- creates the distribution directory -->
<mkdir dir="${dist}/lib" />
<!-- puts everything in ${build} into the jar file -->
<jar jarfile="${dist}/lib/CC-${DSTAMP}.jar" basedir="${build}">
<manifest>
<attribute name="Main-Class" value="jab.jm.Test" />
</manifest>
</jar>
<!-- makes a jar file for quick test execution -->
<jar jarfile="${dist}/lib/CC.jar" basedir="${build}">
<manifest>
<attribute name="Main-Class" value="jab.jm.Test" />
</manifest>
</jar>
</target>
<target name="clean" description="Cleans up the extra build files">
<!-- deletes the ${build} and ${dist} directories -->
<delete dir="${build}" />
<delete dir="${dist}" />
</target>
</project>
编辑: 任何人谁在未来有这个问题,这是我最后的build文件:
<?xml version="1.0" ?>
<project name="ServerJar" default="dist" basedir=".">
<description>
Builds client files into .jar
</description>
<!-- [build variables] -->
<property name="src" location="src" />
<property name="build" location="build" />
<property name="dist" location="dist" />
<property name="lib" location="lib" />
<!-- [path to packages] -->
<path id="master-classpath">
<fileset dir="${lib}">
<include name="*.jar"/>
</fileset>
</path>
<target name="init">
<!-- makes time stamp to be used in jar name -->
<tstamp />
<!-- creates build directory structure -->
<mkdir dir="${build}" />
</target>
<target name="compile" depends="init" description="Compiles the source">
<!-- compiles the java code from ${src} into ${build} -->
<!-- <javac srcdir="${src}" destdir="${build}" /> -->
<javac destdir= "${build}">
<src path="${src}"/>
<classpath refid="master-classpath"/>
</javac>
</target>
<target name="dist" depends="compile" description="Generates distributable">
<!-- creates the distribution directory -->
<mkdir dir="${dist}/lib" />
<!-- puts everything in ${build} into the jar file -->
<jar jarfile="${dist}/lib/CC-${DSTAMP}.jar" basedir="${build}">
<manifest>
<attribute name="Main-Class" value="jab.jm.Test" />
</manifest>
</jar>
<!-- makes a jar file for quick test execution -->
<jar jarfile="${dist}/lib/CC.jar" basedir="${build}">
<manifest>
<attribute name="Main-Class" value="jab.jm.Test" />
</manifest>
</jar>
</target>
<target name="clean" description="Cleans up the extra build files">
<!-- deletes the ${build} and ${dist} directories -->
<delete dir="${build}" />
<delete dir="${dist}" />
</target>
</project>
感谢您的跟进,马特。 唯一的问题是在哪里实现你提供给我的构建文件的代码的第二部分? 我对Ant并不是很了不起。我寄给你的文件是在一年前完成的。 谢谢! – 2010-06-28 15:54:26
''部分只需要在文件中的任何位置声明(我不认为Ant要求它在被引用之前声明它),并且我的'javac'示例应该替换/补充您已有的部分。 –
2010-06-28 16:23:08