2017-02-10 111 views
0

對不起,如果重複。啓動Jetty應用程序,但「java.lang.IllegalStateException:重複的片段名稱」

我正在使用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 

我已經做互聯網上的一些研究,但都在談論碼頭 - Maven的插件和解決方案是增加"<allowDuplicateFragmentNames>true</allowDuplicateFragmentNames>"到webAppConfig。但在我的應用程序中,我沒有webAppConfig。這僅適用於Maven嗎?如果我使用Gradle,如何解決這個問題?

謝謝!

回答

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" 
.. 
> 
相關問題