有一个类似的问题我发现我在 java 源代码的导入行上没有正确的语法
进行如下编译(在 Windows 上):
javac -cp .;commons-io-2.4.jar AgeFileFilterTest.java
在与 AgeFileFilterTest.java 相同的文件夹中使用 commons-io-2.4.jar
我收到错误:
import org.apache.*;
^
AgeFileFilterTest.java:24: error: cannot find symbol
displayFiles(directory, new AgeFileFilter(cutoffDate));
^
这令人费解,因为似乎一切都已到位。jar 在文件夹中,在类路径中定义,在检查 jar 内容时,我可以看到引用的内容 - 使用 7zip 打开 jar 文件并可以看到:
commons-io-2.4.jar\org\apache\commons\io\filefilter\AbstractFileFilter.class
然后我读了一些帖子“你不导入类”,这让我想到了导入语法......
我将其更改为:
import org.apache.*;
将其更改为:
import org.apache.commons.io.filefilter.*;
并且 wala 编译错误消失了:javac -cp .;commons-io-2.4.jar AgeFileFilterTest.java
和程序使用
java -cp .;commons-io-2.4.jar AgeFileFilterTest