抱歉,如果重复。
我正在使用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。这只适用于Maven吗?如果我使用Gradle,如何解决这个问题?
谢谢!
答案 0 :(得分:0)
您可以将jetty.xml放在WEB-INF
下的jetty.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"
..
>