2011-06-27 32 views
8

我正在Eclipse中开发一个使用Java(Servlets/JSP)的动态Web应用程序。我试图使用外部JAR(我使用Apache Commons的StringUtils),我很困惑我应该把jar放在哪里(/lib/WEB-INF/lib?),以及如何配置我的类路径(在蚀)。开发Web应用程序时,我应该在哪里放置外部JAR文件?

我试图把JAR文件中上述两种地方,并加载它们到classpath通过单击项目属性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?

请注意,我并不熟悉Java,虚拟机或Eclipse如何管理所有外部JAR,因此我希望能够提供详细的解决方案。

回答

21

它们必须放置在yourapp/WEB-INF/lib。 (在eclipse中,你正在添加它们)。所以确保罐子真的在那里。请注意,如果您在eclipse中启动应用程序,则必须配置部署组装。

在eclipse中通过right click > properties > deployment assembly配置部署程序集。在那里你应该“添加”你的“Java构建路径条目”

+0

“你将不得不配置部署组装”。 - 当我说我会欣赏更详细的解释时,这就是我的意思:)我不知道这意味着什么。你能解释一下吗? –

+0

请参阅更新..... – Bozho

+0

@Bozho如果我需要将jar放在根目录下我的意思是在WEB-INF/lib之外,那么如何构建它? – Achyut

相关问题