1

Hullo - issue is this:

  • I wrote a servlet in Eclipse which requires mysql-connector-java-5.1.22-bin.jar
  • To compile I need to add the jar via the project's "Java Build Path"
  • To deploy I need to add the jar to the project's "Deployment Assembly"
  • To run the servlet within eclipse I need to add the jar to the servlet's Run Configuration -> Classpath

It's not the end of the world re-re-repeating myself like this, but it does seem odd.

Given that Eclipse gets a lot of other stuff correct I'm guessing / hoping that maybe I'm overlooking some feature to avoid this silliness (I cannot imagine a scenario where you'd benefit from entering this in 3 different spots ... but maybe I'm being uncreative here ...).

Insights appreciated :-)

4

2 回答 2

1

您唯一需要做的就是将罐子放入WebContent/WEB-INF/lib.

于 2013-01-23T17:48:45.167 回答
1

您正在开发一个 Java Web 项目,因此放置所需库(JAR 文件等)的传统位置位于/WEB-INF/lib. 而且你只做一次。

在 Eclipse 中,当您创建Dynamic Web Project时,会为您生成适当的项目结构(这是一个开发结构)。在这种情况下,您将 JAR 文件放在ProjectName/WebContent/WEB-INF/lib文件夹中。这个文件夹*自动包含在项目的构建路径中。

考虑到它是一个 Java Web 项目(你说你使用servlets),你必须将你的 Web 应用程序部署到一些应用程序服务器,如 GlassFish、JBoss、WebLogic、WebSphere 等,或更简单的 Web 容器,如 Apache Tomcat。如果您通过 Eclipse 执行此操作,那么您的 Web 项目将再次自动部署。

注意!
可能有一些与使用库相关的额外细节。例如,在使用数据库驱动程序(MySql、PostgreSQL、Oracle 等)时, Tomcat在配置 JNDI 数据源时建议以下内容(引用):

在继续之前,不要忘记将 JDBC 驱动程序的 jar 复制到 $CATALINA_HOME/lib

在您的情况下(MySQL),请参见此处的示例:MySQL DBCP 示例


另请参阅我与Webapp 配置文件组织约定相关的答案。

希望这会帮助你。

PS 这是一个分步示例:如何从 Web 应用程序访问 MySQL?

于 2013-01-23T17:53:29.507 回答