Java Maven将Tomcat JAR复制到webapp WEB-INF/lib目录
我有一个非常简单的webapp,作为WAR文件发布,在Eclipse中开发。我正在使用m2e进行依赖关系管理。我的项目在Java Maven将Tomcat JAR复制到webapp WEB-INF/lib目录,java,eclipse,maven,tomcat,Java,Eclipse,Maven,Tomcat,我有一个非常简单的webapp,作为WAR文件发布,在Eclipse中开发。我正在使用m2e进行依赖关系管理。我的项目在projectfacets选项卡中启用了dynamicweb模块,以及Java。此外,在my部署程序集下,我列出了Maven依赖项,但没有包含/排除选项: 我的战争构建良好,在Eclipse中运行良好。然而,动态Web模块似乎导致我的WAR文件除了包含所有其他依赖项外,还包含许多Tomcat JAR: 通过在POM.xml中包含以下内容,我可以删除tomcat-catali
projectfacets
选项卡中启用了dynamicweb模块
,以及Java
。此外,在my部署程序集下,我列出了Maven依赖项,但没有包含/排除选项:
我的战争构建良好,在Eclipse中运行良好。然而,动态Web模块
似乎导致我的WAR文件除了包含所有其他依赖项外,还包含许多Tomcat JAR:
通过在POM.xml中包含以下内容,我可以删除tomcat-catalina-7.0.30.jar
(未显示):
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>7.0.30</version>
<scope>provided</scope>
</dependency>
org.apache.tomcat
卡塔琳娜雄猫
7.0.30
假如
但似乎必须有一种方法告诉Maven整个Tomcat容器将在运行时提供。我不想添加~20个提供的
条目来删除其余的条目。查看项目的POM。在某个地方,有人在没有适当的范围的情况下添加了它们
在Eclipse中,您可以使用POM编辑器。编辑器底部有一组选项卡。一个是“依赖层次结构”。在这里,您可以搜索“tomcat”,m2e将告诉您哪些POM包含这样的依赖项。为什么有tomcat-xyz.jar依赖项?请显示您的pom.xml。@Stefan我不知道-这正是我试图解决的问题。我同意Stefan的观点,在您的层次结构中可能根本没有理由有Tomcat依赖项。请显示整个pom.xml,或者尝试完全删除依赖项并进行测试。你完全正确,额外的其他jar应该已经向我提供了消息。我忘记将提供的
范围添加到用于部署的tomcat7 maven插件
。因此,除了Tomcat罐外,所有的罐车罐都有。