Eclipse - 将 .jar 添加到动态 Web 项目

Posted

技术标签:

【中文标题】Eclipse - 将 .jar 添加到动态 Web 项目【英文标题】:Eclipse - add .jar to Dynamic Web Project 【发布时间】:2012-07-24 01:03:26 【问题描述】:

当我在 servlet 内的 eclipse Dynamic Web Project 中使用以下代码时,如下所示:

@WebServlet("/CreateCustomerServlet")
public class CreateCustomerServlet extends HttpServlet 
    private static final long serialVersionUID = 1L;

    private void test() throws SQLException, ClassNotFoundException 
        // use the JAR ...
        Class.forName("com.mysql.jdbc.Driver");//here the exception
    

它抛出异常:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

在行中:

Class.forName("com.mysql.jdbc.Driver");

在动态 web 项目的构建路径中,我添加了 jar:

mysql-connector-java-5.1.21-bin.jar

我添加了文件夹的快照,你可以看到它在哪里需要的jar -

【问题讨论】:

【参考方案1】:

解决方案非常简单:

 1. Right click on the your web project and choose PROPERTIES

 2. Choose the J2EE Module Dependencies

 3. Click on the Add External JARs… and then point on your library file (ZIP or JAR)

 4. Click on Apply then OK.

 5. Restart your Apache Tomcat

应在以下位置看到添加的库:ProjectName > Java Resources: src > Libraries > WebApp Libraries。

【讨论】:

似乎在较新版本的 Eclipse 中,J2EE Module Dependencies 被替换为 Deployment Assembly @Pshemo,是的,伙计。你的权利,那是在较新的版本。但是,这个也回答了哥们。 我并不是说这不是一个答案,因为它对许多人都有用。我的评论对于那些使用新版本 Eclipse 的人来说只是一点点改进。也可能这里没有多少人是你的朋友,所以尽量避免这个词。【参考方案2】:

我刚刚解决了这个问题。

只需转到您项目的properties。 选择Deployment Assembly -> add -> Java Build Path Entries

你就完成了!

【讨论】:

这很完美,而不是将所有的lib jar复制到项目的lib文件夹中......太棒了【参考方案3】:

尝试这样做:

在项目的根目录下创建一个名为lib的目录,并将.jar放入其中。

在 WEB-INF 目录下,链接到 lib。

现在,jar 将出现在 WebbApp 库下。

【讨论】:

【参考方案4】:

如您的屏幕截图所示,mysql jar 没有出现在 Web App Libraries 节点下。将 jar 粘贴到 WebContent/WEB-INF/lib 中,它会自动添加到构建路径 and 到 webapp 的运行时类路径中(它会出现在 Web App Libraries 下)。

【讨论】:

感谢您的回答! 非常感谢。你在 Hackathon 上拯救了我们 那行得通,我也遇到了同样的问题,动态web项目的构建路径有问题吗? 没问题。构建路径用于构建您的项目,但它可以包含不得在运行时类路径中的库(例如测试库)。运行时库必须放在 WEB-INF/lib 中。 我将 JDBC 连接器连接到 Web 应用程序库,但我仍然收到相同的异常找不到合适的驱动程序【参考方案5】:

编译时间和运行时间是两个不同的东西。您现在添加的内容仅用于编译时间和构建目的。运行时服务器尝试加载该类。将相同的 jar 也添加到项目 lib 文件夹(它将与 WAR 一起打包并在运行时可用于服务器)。

【讨论】:

以上是关于Eclipse - 将 .jar 添加到动态 Web 项目的主要内容,如果未能解决你的问题,请参考以下文章

将 ojdbc8.jar 添加到 Eclipse/maven 项目的正确方法

ivy或ivyDE能否在Eclipse中自动将相关jar添加到JAVA构建路径库中?

将tomcat jar / lib目录添加到Mac OS X上的eclipse类路径[重复]

Eclipse IDE - 添加 jar?添加外部罐子?添加图书馆?

如何在eclipse中添加JAR程序包

如何给Eclipse中添加库(jar包)