重复片段名称ERROR Jetty Maven插件

时间:2011-04-27 09:41:52

标签: java maven jetty

我运行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。 有任何想法吗?感谢

马塞尔

5 个答案:

答案 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>部分后,错误消失了。

在我看来,好像一个人同时使用两个,然后只使用一个部分的内容而忽略或重置另一部分。