【问题标题】:Servlet referencing a Maven project - NoClassDefFoundErrorServlet 引用 Maven 项目 - NoClassDefFoundError
【发布时间】:2017-04-23 10:50:27
【问题描述】:

我有一个使用 Hibernate 和 PostgreSQL 的 Maven 项目,它自己运行良好。现在我想在 servlet 中使用这个项目中的一些类(本质上是数据库),但现在事情中断了。

访问 Tomcat 中的 servlet 时出现java.lang.NoClassDefFoundError: javax/persistence/Persistence 错误。

我认为 Maven 依赖项不会以某种方式“转发”到 servlet 项目,但我不知道该怎么做。我已将 Maven 项目添加到 servlet 构建路径,以及它的“Web 部署程序集”……我还需要做什么?

【问题讨论】:

标签: java hibernate maven tomcat servlets


【解决方案1】:

请试试这个依赖。

<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final-redhat-3</version>
</dependency>

【讨论】:

  • 正如我所说,单独运行 Maven 项目时依赖关系很好,但由于某种原因,当我使用 servlet 项目中的项目时它们会搞砸......
【解决方案2】:

1.检查所有的jar,确保所有的依赖都添加了。

2.清理你的tomcat

尝试添加运行时依赖项。

3.右键单击您的项目并选择Properties-> Deployment Assembly

  • 点击添加
  • 选择 Java 构建路径条目
  • 选择 Maven 依赖项
  • 完成

重新运行您的服务器。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2013-08-27
    • 2023-01-13
    • 2020-08-26
    • 2020-07-28
    • 1970-01-01
    • 2012-06-28
    • 2014-05-24
    • 2012-07-09
    • 1970-01-01
    相关资源
    最近更新 更多