aMaven项目使用使用
jakarta.servlet
名称空间的Quarkus 3/untertow。
还有一个单独的库,该库仍使用旧的javax.servlet
名称空间,而没有更新雅加达命名空间。
通过org.apache.felix.http.wrappers
伪影,
jakarta
命名空间可能会转换为
javax
名称空间,但是在运行时需要接口
javax.servlet.http.HttpServletRequest
。adding
javax.servlet:javax.servlet-api:4.0.1
由于运行时依赖性不起作用,因为
pom.xml
使用以下插件来排除某些文物:quarkus-undertow
请参见
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-extension-maven-plugin</artifactId>
<configuration>
<capabilities>
<provides>io.quarkus.servlet</provides>
</capabilities>
<excludedArtifacts>
<excludedArtifact>org.jboss.spec.javax.servlet:jboss-servlet-api_4.0_spec</excludedArtifact>
<excludedArtifact>org.jboss.spec.javax.servlet:jboss-servlet-api_3.1_spec</excludedArtifact>
<excludedArtifact>org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec</excludedArtifact>
<excludedArtifact>javax.servlet:servlet-api</excludedArtifact>
<excludedArtifact>javax.servlet:javax.servlet-api</excludedArtifact>
</excludedArtifacts>
<parentFirstArtifacts>
<!--
Sentry logging has a dependency on the Servlet API, so we load its parent first to
prevent class loading problems.
see https://github.com/quarkusio/quarkus/issues/7407
-->
<parentFirstArtifact>jakarta.servlet:jakarta.servlet-api</parentFirstArtifact>
</parentFirstArtifacts>
</configuration>
</plugin>
推荐克服此问题的推荐方法是什么(不将库更新为雅加达名称空间)?
您可以更清楚地解释您要使用
excluded-artifacts
?
由于您想完全独立于Quarkus Undertow而完全使用它,那么我可以说服放弃这些排除。确实,您不能自己覆盖它们。当我们过渡为谨慎时,我做到了,但我们现在可能可以放松一下。
但是,如果您试图将
org.apache.felix.http.wrappers