启动码头应用程序,但"java.lang.IllegalStateException: Duplicate fragment name"



如果重复,对不起。

我正在使用 gradle 构建我的 .war 文件并使用 Jetty 启动我的应用程序。但是我看到此错误消息

java.lang.IllegalStateException: Duplicate fragment name: spring_web for jar:file:/private/var/folders/r7/z7yqbhx10wl9kyw738crggdd0zwztx/T/jetty-0.0.0.0-8080-application-1.0.war-_pplication-1.0-any-/webapp/WEB-INF/lib/spring-web-4.1.9.RELEASE.jar!/META-INF/web-fragment.xml and jar:file:/private/var/folders/r7/z7yqbhx10wl9kyw738crggdd0zwztx/T/jetty-0.0.0.0-8080-cpplication-1.0.war-_pplication-1.0-any-/webapp/WEB-INF/lib/spring-web-4.1.9.RELEASE.jar!/META-INF/web-fragment.xml

我已经对互联网做了一些研究,但所有人都在谈论 jetty-maven-plugin,解决方案是将"<allowDuplicateFragmentNames>true</allowDuplicateFragmentNames>"添加到 webAppConfig。但是在我的应用程序中,我没有webAppConfig。这只适用于马文吗?如果我使用 Gradle,如何解决这个问题?

谢谢!

你可以把Jetty.xml放在WEB-INF下

码头.xml

<?xml version="1.0"  encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC
    "-//Mort Bay Consulting//DTD Configure//EN"
    "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="allowDuplicateFragmentNames">true</Set>
</Configure>

在 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"
..
>

最新更新