私のコントローラ(抽象コントローラ)はURLを取得するためにサービスクラスを呼び出しています。Springはインポートされたクラスを見ることができません
抽象コントローラ:
public class MyPageController extends AbstractController{
private UserService userService;
private LearnerService learnerService;
private TwitterService twitterService;
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
userService = UserServiceFactory.getUserService();
learnerService = new LearnerService();
twitterService=new TwitterService();
サービスクラス:私のサービスクラスでは、私は、コンストラクタで、私の依存関係をインスタンス化
public TwitterService(){
//
twitter = new Twitter();
}
をしかし、私は私のWebアプリケーションを実行しようとすると、春はスロー次のエラー:
nested exception is java.lang.NoClassDefFoundError: twitter4j/Twitter:
java.lang.NoClassDefFoundError: twitter4j/Twitter
at com.hardwire.service.TwitterService.<init>(Twitter Service.java:21)
at com.hardwire.controller.
MyPageController.handleReq uestInternal(MyPageController.java:30)
なぜこのエラーが発生しますか?わかりません。 Twitterクラスを使用するサービスクラスにTwitterクラスをインポートしました。
返信いただきありがとうございます。すでにライブラリをweb-inf/libフォルダにコピーしました。今それは動作します! これは私が過去に行ったいくつかの仮定を変更します。私は、輸入声明を書いても大丈夫だと思った。デベロッパーとプロダクション環境には異なるクラスパスがあることが判明しました。 (私はそれを得ましたか?) – Jeune
はい与えられた環境のクラスパスは、いくつかの理由で異なっています。 Java WebアプリケーションはWEB-INF/libの内容にアクセスでき、他のクラスパス要素は変更される可能性があります –