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;

ビルド時に jar をクラスパスに追加します。

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

@Scot Shipが提案したように、.javaファイルがあるjarを追加しようとしました

----言及----

IDE を使用していません

コードには認識されない記号が含まれていますが、一度に 1 つずつ解決しようとしています

Apache、Tomcat、JSP を初めて使用します。優しくしてください

4

2 に答える 2

1

Vlad さん、Web コンテナは内部の JAR を自動的に探します

/WEB-INF/lib

開発者の介入がなくても。すべて大文字の WEB-INF であることに注意してください。JAR が存在する限り、Web アプリケーションのクラスパスに存在します。

サーブレットまたは 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 の 1 つに含まれていることを必ず確認してください。アーカイブ解除ツールを使用して 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を読んでください。おそらく fileupload jar がありますが、クラスパスにも commons-io.jar が必要です。

于 2013-05-03T23:22:20.933 に答える