我运行jetty-maven-plugin 8.0.0M2。启动后工作正常(mvn jetty:run)。如果我更改源,则插件会尝试热部署但由于以下错误而卡住
Duplicate fragment name: PrimeFaces for jar:file:/C:/path/to/project/webroot/WEB-INF/lib/primefaces-2.1.jar!/META-INF/web-fragment.xml and jar:file:/C:/path/to/project/webroot/WEB-INF/lib/primefaces-2.1.jar!/META-INF/web-fragment.xml
它适用于插件版本7.2.0。我正在升级,因为我需要el-api 2.2。 有任何想法吗?感谢
马塞尔
答案 0 :(得分:19)
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
...
<webAppConfig>
...
<allowDuplicateFragmentNames>true</allowDuplicateFragmentNames>
...
</webAppConfig>
...
</configuration>
</plugin>
答案 1 :(得分:6)
如果您尝试了Stephen Connolly的修复程序并且您仍然遇到问题,则可能需要稍微修改一下您的web.xml以使“ allowDuplicateFragmentNames ”生效。
在WEB-INF / web.xml中,查找标记(应位于顶部),并修改属性以匹配这些值:
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/j2ee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
metadata-complete="true"
..
>
答案 2 :(得分:6)
我认为我们应该为事业而不是隐藏问题。即避免重复的碎片。在我看来,具有相同名称的片段来自不同版本的Spring,因此要解决该问题,我必须正确管理项目的依赖项。通过错误消息分析重复的位置,并考虑是否确实需要它们或者是依赖冲突。
答案 3 :(得分:0)
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" metadata-complete="true">
参考:http://forum.broadleafcommerce.org/viewtopic.php?f=13&t=2145
答案 4 :(得分:0)
我很难摆脱错误。我的错误是我使用了两个具有相同含义的不同配置标签:
<webApp>...</webApp>
我已经在我的配置中,然后从上面的解决方案中复制<webAppConfig>...</webAppConfig>
。正如我最终发现的那样, webAppConfig是webApp的别名。在删除别名并将所有配置移动到<webApp>
部分后,错误消失了。
在我看来,好像一个人同时使用两个,然后只使用一个部分的内容而忽略或重置另一部分。