3

我遇到了一个例外:

Cannot find symbol: FileUploadException; 

我有一段代码使用

FileUploadException

需要导入的库是:

org.apache.commons.fileupload.FileUploadException

我的项目的路径是:

D:\Projects\website

在项目文件夹中,我在其文件夹中有每个:

Tomcat, Derby, Website

我已经复制了:

commons-fileupload.jar and commons-io.jar

进入两者:

Tomcat/lib and Website/Web-INF/lib

---------------我试过这个--------------

只是自己导入库

import org.apache.commons.fileupload.FileUploadException;

在构建时将 jars 添加到类路径中:

javac -cp .;D:Projects\website\Tomcat\lib\commons-fileupload.jar;D:\Projects\website\Tomcat\lib\commons-io.jar com/otrocol/app/*.java

将它们添加到环境变量 CLASSPATH

D:Projects\website\Tomcat\lib\commons-fileupload.jar;D:\Projects\website\Tomcat\lib\commons-io.jar

我还尝试添加我的 .java 文件所在的罐子,如@Scot Ship 建议的那样

----提及---

我没有使用任何 IDE

该代码包含更多无法识别的符号,但我试图一次解决一个

第一次使用apache,tomcat,jsp..请温柔

4

2 回答 2

1

Vlad,Web 容器会自动在里面寻找 JAR

/WEB-INF/lib

即使没有任何开发人员干预。请注意,它都是大写的 WEB-INF。只要您的 JAR 存在,它就会在您的 Web 应用程序的类路径中。

尝试在您的 servlet 或 JSP 中显示它:

System.getProperty("java.class.path")

您将更好地了解实际加载了哪些类和 JAR。

更新:查看您的问题后,您似乎在开始编译文件时遇到了问题,并且您是在IDE之外进行的。

请注意,当您像这样在 javac 中使用 -cp 时:

javac -cp .;D:Projects\website\Tomcat\lib\commons-fileupload.jar;D:\Projects\website\Tomcat\lib\commons-io.jar com/otrocol/app/*.java

您在 CLASSPATH 环境变量中设置的任何值都会被忽略。

绝对确保类 FileUploadException 确实在您尝试导入的 JAR 之一中:您可以使用取消归档工具直接查看 JAR。

此外,将 com/otrocol/app/*.java 更改为 com\otrocol\app*.java - 您应该使用系统分隔符(并不是说这可能会影响您的问题)。

在与您正在编译的文件相同的位置创建一个简单的 HelloWorld,添加上面提到的 SystemOut,并按照您为相关文件执行的相同方式编译它。

于 2013-05-04T02:12:15.337 回答
0

阅读此http://commons.apache.org/proper/commons-fileupload/faq.html#class-not-found。可能您有文件上传 jar,但您的类路径中也需要 commons-io.jar。

于 2013-05-03T23:22:20.933 回答