我最近从日食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->更新项目配置“,再次删除Maven依赖项。
请注意,我使用Eclipse IDE中的Apache Tomcat Server运行项目。
我已经安装了
答案 0 :(得分:12)
这应该与eclipse和m2eclipse无关,并且可选地为了更好的支持 - m2e-wtp。此外,您不需要复制依赖项。以下是一些可能的原因:
你应该调用mvn包(或右键单击> maven>包)并获取war文件 - (在pom中)必须是war
<包装和GT;战争< /包装>
您的依赖项应该是默认范围(如果提供或测试它们将不会包含在存档中)
答案 1 :(得分:3)
请按照以下步骤尝试清理设置
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团队。
答案 2 :(得分:2)
我用这种方式解决了同样的问题:
war
。Maven>Update Project
。将更新项目而不从部署程序集中删除Maven依赖项;如果缺少Maven依赖项,Maven>Update Project
将自动将其添加到项目部署程序集
答案 3 :(得分:1)
我最近遇到了与上述描述相同的问题,并且我按照这种方式工作:
然后调用Maven更新项目,Maven依赖项将不再从Deployment Assembly的视图中消失。
答案 4 :(得分:1)
我通过在我的网络项目上执行以下操作解决了类似的问题:
注意:我在将maven性质添加到我的java项目之后遇到了这个问题,以便将它们用于m2e而不是之前的maven eclipse插件(遗留...)
答案 5 :(得分:1)
我在做什么 - 我用我自己的web.xml替换了默认的web.xml文件。
当我替换我的默认web.xml(在创建新的maven web项目时创建)时,Maven Dependencies从Deployment Assembly中消失了。因此,我没有替换,而是将我的内容复制粘贴到原始/默认的web.xml中。
这解决了我的问题。
答案 6 :(得分:1)
我的情况如下: 我甚至无法选择" Maven Dependencies"用于"部署组装"。
我终于可以(!)以这种方式解决它: 右键点击项目 - > Maven - >启用工作区解析
再次注意"部署组装" (项目属性),如果有效。
答案 7 :(得分:0)
我解决了这个问题如下;
复制web.xml文件的内容并将其保存在某处以备日后使用。
删除web.xml文件。
右键点击该项目 - > Java EE工具 - >生成部署描述符存根
步骤3将在WEB-INF文件夹中生成web.xml文件。然后,您可以将步骤1中保存的内容粘贴到新生成的web.xml文件中。
在此之后,您的maven依赖项将不会从部署程序集中删除。
答案 8 :(得分:0)
就我而言,它是pom.xml中pluginExecutionFilter
部分的pluginManagement
。
删除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> -->
答案 9 :(得分:0)
我的解决方法是:
Eclipse>窗口>首选项> Maven> Java EE集成>选中“启用Java EE配置”
答案 10 :(得分:0)
我的解决方案是因为web.xml版本不兼容,请将其从2.4更改为3.0。
答案 11 :(得分:0)