当前位置: 首页 > 面试题库 >

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

湛安宁
2023-03-14
问题内容

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

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


问题答案:

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

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


 类似资料:
  • 我正在开发这个maven web(java)应用程序(lwl-module),并通过Eclipse将其部署到JBoss7。 当我在JBoss7下扩展web应用程序的节点时,它下面有两个jar文件,就像它上面的那个一样(bhr-module): 但在我对其中一个jar文件(commons-web)进行更改并重新安装后,该jar文件就从应用程序的节点中消失了。当我重新部署我的web应用程序时,JBos

  • 问题内容: 我需要在Maven生成的WAR 文件夹中具有JAR依赖关系,而不是,这是它在存储库中的名称。实现这一目标的最佳方法是什么? 在我的POM中,我有: 我希望它以出现在文件夹中。 这是我无法控制的对Maven Central的外部依赖。同样,我也不想强迫使用此方法的所有人将依赖关系重新部署到其本地存储库。 是否有我可以利用的Maven插件,还是应该开始自己编写代码? 问题答案: 您可以使用

  • 我有一个产生战争的网络项目。war添加了一个jar(我的另一个项目发布在外部repo上)作为编译依赖项。这个jar有自己的编译依赖项,它列在jar的pom文件中,也列在项目的构建脚本中(这是一个Gradle项目)。我希望将jar及其所有依赖项添加到WAR的WEB-INF/lib文件夹中。然而,当我用Gradle构建web项目时,只添加了直接依赖项,而不添加传递依赖项。 下面是我的web项目的构建脚

  • 我有一个使用Spring的项目。它使用的是3.1.1版本,但是,由于某些原因,我真的不知道,有些spring工件与两个不同的版本是重复的。我在项目中的所有pom.xml文件中查找这些依赖项。我还使用dependecy插件来找出那些依赖项包含在哪里。 这里有输出的提取 据我所知,这意味着包含在中。 更新:似乎当我评论下一段代码时,罐子不包括在战争中。

  • 我在webapp/WEB-INF/lib/文件夹下添加了一个依赖项。 当我使用maven构建时,我希望在war中将它复制到WEB-INF/lib,而不是WEB-INF/classes/WEB-INF/lib。我正在寻找这是使用maven本身来完成的。 我已经在pom文件中提到了打包作为战争,但是依赖项没有被复制。我是不是在pom文件里漏掉了什么。我已经复制了下面的pom: 附上战争内容截图。

  • 我有一个多模块的项目,在其中一个模块,我包括依赖,一些是可见的,另一个没有;试着解释得更好: 在Utenti的项目中,我导入: 来自模块DataModelIbm 来自CommonResources:

  • 我正在使用Maven 3.0.3构建一个大型java项目。我的pom。xml有一个父级,它依赖于(编译范围),后者又依赖于(也在编译范围内)。当我用创建依赖关系树时,一切看起来都很好,

  • 我创建了一个Maven项目(可重用库),该项目有许多依赖项(编译时和运行时),它们也可以过渡地依赖于其他许多依赖项。在maven中,我可以在pom中添加依赖项。xml及其可传递依赖关系将自动处理。所以,我将毫无问题地运行。 现在,我有一个非Maven(基于Ant的)项目,上面创建的库(Maven Lib)将使用它。 在这种情况下,运行时间