首页 文章

部署程序集中缺少maven依赖项

提问于
浏览
23

我最近从日食4.4.2(Luna)升级到4.5(火星) . 我的动态Web项目现在不在其部署程序集“Project-> Properties-> Deployment assembly”中包含Maven依赖项 .

我可以手动添加它们(使用“Project-> Properties-> Deployment assembly-> Add-> Java Build Path Entries-> Maven Dependencies”),但每次运行“Project-> Maven-> Update Project Configuration”时, Maven依赖项将再次被删除 .

请注意,我使用Eclipse IDE中的Apache Tomcat Server运行项目 .

我安装了

  • m2e 1.6.0.20150526-2032

  • m2e-wtp 1.2.0.20150602-1740

10 回答

  • 0

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

    • 你应该调用mvn包(或右键单击> maven>包)并获取war文件 - (在pom中)必须是war

    <包装>战</包装>

    • 您的依赖项应该是默认范围(如果提供或测试它们将不包含在存档中)

    • 如果您在eclipse中的服务器上运行项目作为动态Web项目,则应打开项目属性(右键单击>属性)并选择"Deployment Assembly" . 单击"add",选择"build path entries",然后选择"maven dependencies" . 这将指示WTP将maven依赖项发送到服务器目录 .

  • 0

    请按照以下步骤尝试清理设置

    • 禁用Maven应用程序的性质:
    Right Click Project -> Maven -> Disable Maven Nature
    
    • 打开cmd,转到项目位置,运行 mvn clean install eclipse:eclipse -Dwtpversion=2.0 (此目标只删除 .project.classpath.settings/ files/directories . 您也可以删除这些文件(在项目打开时再次删除)而不是运行 mvn eclipse clean.

    • 重新启用maven性质 . (大多数情况下,可以通过在包浏览器窗格中右键单击相关项目,然后选择 'Configure'-> 'Convert to Maven Project' 来完成此操作)

    你可以尝试的其他事情

    1. reimport project into some other workspace 
    2. resintall eclipse
    

    如果它仍然没有解决你的问题,很可能你可能需要将 Jira 提升到eclipse团队 .

  • 12

    我这样解决了同样的问题:

    • 打开pom.xml并进行包装 war .

    • 右键单击该项目,然后选择 Maven>Update Project .

    将更新项目而不从部署程序集中删除Maven依赖项;如果缺少Maven依赖项, Maven>Update Project 将自动将其添加到项目部署程序集中

  • 0

    我最近有同样的问题,就像你上面的描述,我得到了这样的方式:

    • 右键单击项目> Maven>禁用Maven Nature

    • 右键单击项目>配置>转换为Maven项目

    然后调用Maven更新项目,Maven依赖项不会再从Deployment Assembly的视图中消失 .

  • 0

    我在做什么 - 我用我自己的web.xml替换了默认的web.xml文件 .

    当我替换我的默认web.xml(在创建新的maven web项目时创建)时,Maven Dependencies从Deployment Assembly中消失了 . 因此,我没有替换,而是将我的内容复制粘贴到原始/默认的web.xml中 .

    这解决了我的问题 .

  • 2

    我通过对我的web项目执行以下操作解决了类似的问题:

    • 删除maven性质

    • 清理所有m2e生成的文件

    • 添加maven性质

    • alt F5

    注意:我在将maven性质添加到我的java项目之后遇到了这个问题,以便将它们用于m2e而不是之前的maven eclipse插件(遗留...)

  • 3

    我解决了这个问题如下;

    • 复制web.xml文件的内容并将其保存在某处以备将来使用 .

    • 删除web.xml文件 .

    • 右键单击项目 - > Java EE工具 - >生成部署描述符存根

    步骤3将在WEB-INF文件夹中生成web.xml文件 . 然后,您可以将步骤1中保存的内容粘贴到新生成的web.xml文件中 .

    在此之后,您的maven依赖项将不会从部署程序集中删除 .

  • 1

    就我而言,它是pom.xml中 pluginManagement 部分的 pluginExecutionFilter .

    删除 org.apache.maven.plugins:maven-war-plugin 的部分消除了将从部署程序集中消失的maven依赖项的问题,以及在手动添加maven依赖项之后,部署还将安装测试依赖项的问题:

    <!-- Remove to eliminate vanishing maven dependencies
                               <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>
                                            org.apache.maven.plugins
                                        </groupId>
                                        <artifactId>
                                            maven-war-plugin
                                        </artifactId>
                                        <versionRange>
                                            [3.0.0,)
                                        </versionRange>
                                        <goals>
                                            <goal>war</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution> -->
    
  • 0

    我的情况如下:我甚至无法为“部署程序集”选择“Maven依赖项” .

    我终于可以(!)以这种方式解决它:右击项目 - > Maven - >启用工作区解析

    如果有效的话,请在“部署组装”(项目属性)中再次注意 .

  • 1

    我的解决方案是:

    Eclipse> Window> Preferences> Maven> Java EE Integration>选中“启用Java EE配置”

相关问题