Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.util.ServiceConfigurationError:org.apache.juli.logging.Log:org.eclipse.jetty.apache.jsp.JuliLog不是子类型_Java_Maven_Jsp_Jetty - Fatal编程技术网

java.util.ServiceConfigurationError:org.apache.juli.logging.Log:org.eclipse.jetty.apache.jsp.JuliLog不是子类型

java.util.ServiceConfigurationError:org.apache.juli.logging.Log:org.eclipse.jetty.apache.jsp.JuliLog不是子类型,java,maven,jsp,jetty,Java,Maven,Jsp,Jetty,我正在尝试将一个十多年前编写的项目移植到Java11 经过几天的努力和一些进步,我陷入了这个错误: 由以下原因引起: java.util.ServiceConfigurationError:org.apache.juli.logging.Log:org.eclipse.jetty.apache.jsp.JuliLog不是子类型 位于java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) 位于java.base/java.uti

我正在尝试将一个十多年前编写的项目移植到Java11

经过几天的努力和一些进步,我陷入了这个错误:

由以下原因引起:
java.util.ServiceConfigurationError:org.apache.juli.logging.Log:org.eclipse.jetty.apache.jsp.JuliLog不是子类型
位于java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588)
位于java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1236)
...
如果我
jar-xf
我的uberjar和(rip)grep通过它,我会看到
JuliLog
juli.logging
版本:

rg  "JuliLog|juli\.logging"
jar/META-INF/services/org.apache.juli.logging.Log
1:org.eclipse.jetty.apache.jsp.JuliLog

jar/META-INF/maven/org.mortbay.jasper/apache-jsp/pom.xml
216:              filter:="(osgi.serviceloader=org.apache.juli.logging.Log)";resolution:=optional;cardinality:=multiple,
235:                  org.apache.juli.logging;version="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}",

jar/META-INF/maven/org.eclipse.jetty/apache-jsp/pom.xml
28:            <Provide-Capability>osgi.serviceloader;osgi.serviceloader=javax.servlet.ServletContainerInitializer,osgi.serviceloader;osgi.serviceloader=org.apache.juli.logging.Log</Provide-Capability>
45:                <exclude>META-INF/services/org.apache.juli.logging.Log</exclude>
在我的pom中,我只指定了eclipse
ApacheJSP
,包括它是为了防止与缺少jsp支持有关的错误(
2020-09-15 10:08:50.037:INFO:oejw.StandardDescriptorProcessor:main:NO-jsp支持/my应用程序,找不到org.eclipse.jetty.jsp.JettyJspServlet

关于StackOverflow的其他问题与对tomcat(或)的依赖性有关。我没有这些,但我确实对其他jetty罐子有一些依赖性,如果这很重要的话:

mvn依赖关系:树| grep-i tomcat-C5
#没有结果
mvn依赖关系:树| grep-i gwt-C5
#没有结果
mvn依赖关系:树| grep-i jetty-C5
...
[信息]+-org.eclipse.jetty:jetty服务器:jar:9.4.31.v20200723:compile
[信息]|+-org.eclipse.jetty:jetty http:jar:9.4.31.v20200723:compile
[INFO]\-org.eclipse.jetty:jetty io:jar:9.4.31.v20200723:compile
[信息]+-org.eclipse.jetty:jetty servlet:jar:9.4.31.v20200723:compile
[INFO]\-org.eclipse.jetty:jetty-security:jar:9.4.31.v20200723:compile
[信息]+-org.eclipse.jetty:jettywebapp:jar:9.4.31.v20200723:compile
[INFO]+-org.eclipse.jetty:jetty xml:jar:9.4.31.v20200723:compile
[INFO]\-org.eclipse.jetty:jetty-util:jar:9.4.31.v20200723:compile
[INFO]+-org.eclipse.jetty:apachejsp:jar:9.4.31.v20200723:compile
[信息]|+-org.eclipse.jetty.toolchain:jetty模式:jar:3.1.2:compile
[INFO]|+-org.mortbay.jasper:apachejsp:jar:8.5.54:compile
[信息]| |+-org.mortbay.jasper:apacheel:jar:8.5.54:compile
[INFO]| | \-org.eclipse.jdt:ecj:jar:3.19.0:compile
[信息]\-org.eclipse.jetty:jetty注释:jar:9.4.31.v20200723:compile
[信息]|+-org.eclipse.jetty:jetty plus:jar:9.4.31.v20200723:compile
[信息]| | \-org.eclipse.jetty:jetty-jndi:jar:9.4.31.v20200723:compile
...
其他解决方案明确地将
apachejsp
排除在项目之外,但这正是提供我的jsp支持的原因,因此这对我不起作用

我想我可以使用一个
,但是
mvn dependency:tree | grep-I juli-C5
没有返回结果,所以我不确定如何在这里添加一个


更新:多亏了Joakim,我通过
创建了一堆重复的类,从而显著地清理了我的jar,我唯一的重复项是
关于.html
文件以及jmockit和junit之间的一些重叠:

mvn org.basepom.maven:duplicate finder maven插件:检查
...
[信息]正在检查编译类路径
[信息]正在检查运行时类路径
[信息]正在检查测试类路径
[警告]在中发现重复和不同的资源[org.eclipse.jdt:ecj:3.19.0,org.eclipse.jetty.toolchain:jetty模式:3.1.2,org.eclipse.jetty:apachejsp:9.4.31.v20200723,org.eclipse.jetty:jetty注释:9.4.31.v20200723,org.eclipse.jetty:jetty io:9.4.31.20200723,org.eclipse.jetty:jetty:jetty-jndi:9.4.31.31.org.02723,eclipse:。4.31.v20200723,org.eclipse.jetty:jetty安全:9.4.31.v20200723,org.eclipse.jetty:jetty服务器:9.4.31.v20200723,org.eclipse.jetty:jetty servlet:9.4.31.v20200723,org.eclipse.jetty:jetty-util:9.4.31.v20200723,org.eclipse.jetty:jetty-webapp:01106090707-r]:
[警告]about.html
[警告]在中发现重复和不同的资源[org.eclipse.jdt:ecj:3.19.0,org.eclipse.jetty.toolchain:jetty模式:3.1.2,org.eclipse.jetty:apachejsp:9.4.31.v20200723,org.eclipse.jetty:jetty注释:9.4.31.v20200723,org.eclipse.jetty:jetty io:9.4.31.20200723,org.eclipse.jetty:jetty:jetty-jndi:9.4.31.31.org.02723,eclipse:。4.31.v20200723,org.eclipse.jetty:jetty安全:9.4.31.v20200723,org.eclipse.jetty:jetty服务器:9.4.31.v20200723,org.eclipse.jetty:jetty servlet:9.4.31.v20200723,org.eclipse.jetty:jetty-util:9.4.31.v20200723,org.eclipse.jetty:jetty-webapp:01106090707-r]:
[警告]about.html
[警告]在[com.googlecode.jmockit:jmockit:1.7,junit:junit:4.11]中发现重复和不同的类:
[警告]junit.framework.TestResult
[警告]org.junit.runner.runner
[警告]在中发现重复和不同的资源[org.eclipse.jdt:ecj:3.19.0,org.eclipse.jetty.toolchain:jetty模式:3.1.2,org.eclipse.jetty:apachejsp:9.4.31.v20200723,org.eclipse.jetty:jetty注释:9.4.31.v20200723,org.eclipse.jetty:jetty io:9.4.31.20200723,org.eclipse.jetty:jetty:jetty-jndi:9.4.31.31.org.02723,eclipse:。4.31.v20200723,org.eclipse.jetty:jetty安全:9.4.31.v20200723,org.eclipse.jetty:jetty服务器:9.4.31.v20200723,org.eclipse.jetty:jetty servlet:9.4.31.v20200723,org.eclipse.jetty:jetty-util:9.4.31.v20200723,org.eclipse.jetty:jetty-webapp:01106090707-r]:
[警告]about.html
...

不幸的是,这并没有解决我的问题。

很可能您的数据库中有多个
org.apache.juli.logging.Log
mvn dependency:tree  | grep -i apache-jsp -C5
...
[INFO] +- org.eclipse.jetty:jetty-servlet:jar:9.4.31.v20200723:compile
[INFO] |  \- org.eclipse.jetty:jetty-security:jar:9.4.31.v20200723:compile
[INFO] +- org.eclipse.jetty:jetty-webapp:jar:9.4.31.v20200723:compile
[INFO] +- org.eclipse.jetty:jetty-xml:jar:9.4.31.v20200723:compile
[INFO] |  \- org.eclipse.jetty:jetty-util:jar:9.4.31.v20200723:compile
[INFO] +- org.eclipse.jetty:apache-jsp:jar:9.4.31.v20200723:compile
[INFO] |  +- org.eclipse.jetty.toolchain:jetty-schemas:jar:3.1.2:compile
[INFO] |  +- org.mortbay.jasper:apache-jsp:jar:8.5.54:compile
[INFO] |  |  +- org.mortbay.jasper:apache-el:jar:8.5.54:compile
...