Maven依赖项在WEB-INF / lib中不可见

2020/12/31 23:22 · java ·  · 0评论

我的项目基于Maven时遇到了这个奇怪的问题。在Eclipse中创建了一个新的Maven项目,并启用了动态Web构面。但是现在在运行时抛出该异常ClassNotFoundException是因为Maven依赖项未复制到WEB-INF/lib目录中。我什至尝试在POM中添加“副本依赖项”部分,但没有帮助。

这里的某个人似乎已经以正确的方式解决了这个问题,但是我想他忘了提及解决方案了::(

这应该与eclipse和m2eclipse无关,并且可以选择更好地支持-m2e-wtp另外,您不需要复制依赖性。以下是一些可能的原因:

  • 您应该调用mvn package(或右键单击> maven> package)并获取war文件- <packaging>(在pom中)必须为war
  • 您的依存关系应具有默认范围(如果存在providedtest不包含在归档文件中)
  • 如果要在Eclipse中的服务器上将项目作为动态Web项目运行,则应打开项目属性(右键单击>属性),然后选择“部署程序集”。在此处单击“添加”,选择“构建路径条目”,然后选择“行依赖”。这将指示WTP将Maven依赖项发送到服务器目录。

首先安装针对Eclipse WTP的Maven集成(帮助-> Eclipse Marketplace)

然后在您的Web项目的pom.xml中添加:

    <packaging>war</packaging>

之后,右键单击项目Maven-> Update Project,该项目将自动为您在Deployment Assembly中添加Maven依赖关系。

右键单击项目> Maven>更新Maven项目>确定为我修复了它

检查项目的Deployment Assembly属性。我已经看到一些mvn eclipse:eclipse生成的Eclipse项目有时会将资产部署到错误的位置。据我所知,新的Deployment Assembly在早期版本的Eclipse 3.6(Helios)中存在一些问题。

我只是做了maven->更新项目对我有用。

您想使用复制依赖插件

看到这篇文章和文档

如果您调查部署,并且发现WEB-Inf / lib中没有Maven依赖项,那么如选择答案中所述,确保这些Maven依赖项在部署程序集中是至关重要的。

但是请警惕Eclipse,然后即使使用Maven更新也不刷新所有内容。如果您进行清理,重建和重新部署,但仍然看不到lib文件夹正在填充,请尝试通过Servers> Add and Remove将应用程序重新添加到服务器部署中并将其重新添加到服务器部署中。

这对我来说系统是畅通无阻的。

右键单击项目->部署程序集:查看其中是否具有Maven依赖关系以及所有其他依赖关系。如果没有,请右键单击项目-> Maven->启用工作区解析

(也许然后是Maven-> Update Project,但然后再次查看“ Deployment Assembly”,然后看看您得到了什么。)这为我解决了(终于!)。

在Eclipse上,选择您的Web项目->右键单击->属性->部署程序集->添加-> Java构建路径条目-> Maven依赖关系

通过此步骤,完全发布后,maven库将包含在WEB-INF / lib中。

本文地址:http://java.askforanswer.com/mavenyilaixiangzaiweb-inf-libzhongbukejian.html
文章标签: ,   ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!