2016-06-28 5 views
0

Tomcatに私のアプリケーションをWARファイルとしてデプロイしました。ある時点で、com.sun.deploy.netのURLEncoderを使用してHTTP GETパラメータをエンコードしています。Tomcat上のWARはjre内のdeploy.jarを見つけることができません

message = URLEncoder.encode(message); 

これはうまくコンパイルされます。しかし、配備されたアプリケーションがこのメソッドにアクセスしようとするとすぐに、私は受け取った

java.lang.ClassNotFoundException: com.sun.deploy.net.URLEncoder 

なぜですか?私はURLEncoderクラスがjava 1.3(私は1.7を使用しています)からJREのdeploy.jarに属していますが、Tomcatはそれを見つけられないようです...

何をすればいいですか?

答えて

0

私は信じられないほど愚かされていた

それがされている必要があります

import java.net.URLEncoder; 

ではなく、単純に間違っているimport com.sun.deploy.net.URLEncoder;

。今、それはもちろん動作します!

+0

絶対に**決して** com.sun.'の中のクラスを使用しないでください - これらはすべて非推奨または廃止されています。互換性の理由から存在し、時には置き換えがまだ作成されていません。これらのいずれかを使用すると、予期しない動作が常に発生します。 **交換や代替がない場合、サンクラスを使用して3番目の部分のlibを使用することをお勧めします - ほとんどすべてのクラスには今日の選択肢があります。 – specializt

関連する問題