2011-06-27 11 views
8

EclipseでJava(Servlets/JSP)を使用した動的Webアプリケーションを開発しています。私は外部のJARを使用しようとしています(私はApache CommonsのStringUtilsを使用しています)、私はどこにjarファイル(/lib/WEB-INF/lib?)を置くべきなのか混乱しています。 Eclipse)。Webアプリケーションを開発する際に、どこに外部JARファイルを置くべきですか?

私は、前述の場所の両方にJARを入れて、プロジェクトのプロパティでAdd JARをクリックすることで、クラスパスにそれらをロードしようとしたとの両方のソリューションは罰金コンパイルが、そうのようなランタイムエラーを与える:

SEVERE: Servlet.service() for servlet UserList threw exception java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils at cs236369.hw5.db.MySqlDbHandler.insert(MySqlDbHandler.java:58) at cs236369.hw5.servlets.UserList.doGet(UserList.java:50) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source)

だから、どうすれば外部のJARをロードできますか?

外部JARがJava、VM、またはEclipseでどのように管理されているかに精通していないので、詳細な解決方法をお考えください。

答えて

21

yourapp/WEB-INF/libに配置する必要があります。あなたはそれらを適切に追加しています。だから瓶が本当にそこにあることを確認してください。 eclipse内からアプリを起動する場合は、デプロイメントの組み立てを設定する必要があります。

展開アセンブリは、eclipseでright click > properties > deployment assemblyによって構成されます。そこで「Javaビルドパスエントリ」を「追加」する必要があります。

+0

「デプロイメントの組み立てを構成する必要があります。 - それは、私がより詳細な説明に感謝すると言ったときに私が意味していたものです。私はそれがどういう意味か分かりません。どうか説明できますか? –

+0

更新を見る..... – Bozho

+0

@Bozhoルートディレクトリにjarファイルを置く必要がある場合は、WEB-INF/libの外側にビルドする方法を教えてください。 – Achyut

関連する問題