Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

Struts&MySQLの連携がうまくいきません。

プログラム未経験の初心者です。
ご教授お願いします。

最近StrutsとMySQLを利用したWEBアプリケーションの作成を勉強しています。

以前はデータベースへのアクセスもうまくできていたのですが

PCが一度クラッシュしまして
OSを再インストールし、環境を再構築し
SVCにバックアップしていたデータからプロジェクトファイルを復元しました。

するととたんに動作をしなくなりました。

原因をさぐってみると
どうやら、struts-config.xmlの
dara-sources文のせいで動作しなくなっているようです。
エラーログは以下の通りです。

type 例外レポート

メッセージ

説明 The server encountered an internal error () that prevented it from fulfilling this request.

例外

javax.servlet.ServletException: サーブレット action のServlet.init()が例外を投げました
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    java.lang.Thread.run(Unknown Source)

原因

java.lang.NoClassDefFoundError: org/apache/commons/pool/ObjectPool
    java.lang.Class.getDeclaredConstructors0(Native Method)
    java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    java.lang.Class.getConstructor0(Unknown Source)
    java.lang.Class.newInstance0(Unknown Source)
    java.lang.Class.newInstance(Unknown Source)
    org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:145)
    org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:775)
    org.apache.struts.action.ActionServlet.init(ActionServlet.java:331)
    javax.servlet.GenericServlet.init(GenericServlet.java:212)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    java.lang.Thread.run(Unknown Source)

原因

java.lang.ClassNotFoundException: org.apache.commons.pool.ObjectPool
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284)
    java.lang.Class.getDeclaredConstructors0(Native Method)
    java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    java.lang.Class.getConstructor0(Unknown Source)
    java.lang.Class.newInstance0(Unknown Source)
    java.lang.Class.newInstance(Unknown Source)
    org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:145)
    org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:775)
    org.apache.struts.action.ActionServlet.init(ActionServlet.java:331)
    javax.servlet.GenericServlet.init(GenericServlet.java:212)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    java.lang.Thread.run(Unknown Source)


MySQL自体は正常に動作し、
Eclipseのプラグインにより、Eclipse経由でのデータベースのGUI操作は問題なくできています。

いったい何が原因なのでしょうか。

3

回答

93565

閲覧

3件の回答

評価

0

すでに動かしたことがあるのに、「未経験」を名乗るとはど
ういう。
こういうことは一々書かない方が良い。
「不慣れだから優しく教えてもらえるだろう」と期待してい
ると受け取られることが多い。

原因については、せっかく例外のログが出てるのだから、丸
投げせずにその内容をちゃんと読み、検索してみること。

評価

0

はずかしながら
質問を投稿した後に
適当にクラスパスを通しまくっていたら
できました。

今後はもっとよく調べてから質問します。

評価

0

動くようになった理由が説明できるなら、なんの問題もない。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。