Maven依赖关系在WEB-INF / lib中不可见?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (357)

我在Eclipse中创建了一个新的Maven项目并启用了Dynamic Web构面。但是在运行时现在它会抛出ClassNotFoundException,因为Maven依赖不会被复制到WEB-INF/lib目录。我甚至尝试在POM中添加复制依赖部分,但它没有帮助。

提问于
用户回答回答于

这应该与eclipse和m2eclipse无关,此外,你不需要复制依赖。以下是一些可能的原因:

  • 你应该调用mvn package(或右键单击> maven>包)并获得一个war文件 - <packaging>(在pom中)必须是war
  • 你的依赖关系应该与默认范围一致(如果它们是provided或者test它们不会包含在归档中)
  • 如果你在eclipse中的服务器上将项目作为动态Web项目运行,那么你应该打开项目属性(右键单击>属性)并选择“部署程序集”。点击“添加”,选择“构建路径条目”,然后选择“Maven依赖关系”。这将指示WTP将Maven依赖关系发送到服务器目录。
用户回答回答于

首先安装Maven Integration for Eclipse WTP(Help-> Eclipse Marketplace)

然后在你的web项目的pom.xml中添加:

    <packaging>war</packaging>

之后,右键单击该项目,Maven - > Update Project,它应该自动为你在Deployment Assembly中添加Maven Dependencies。

扫码关注云+社区

领取腾讯云代金券