spring-cloud-netflix icon indicating copy to clipboard operation
spring-cloud-netflix copied to clipboard

Dependency hygiene

Open dsyer opened this issue 5 years ago • 5 comments

Something bad happened in the upstream. Our Eureka client starter brings in servlet 2.5 (and a bunch of other crap that shouldn't be there). This is new in 3.0.0 (2.2 was OK).

dsyer avatar Jun 09 '20 09:06 dsyer

do you have a dependency tree?

spencergibb avatar Jul 06 '20 17:07 spencergibb

I think I hit this today:

javax.servlet:servlet-api:2.5
\--- com.netflix.netflix-commons:netflix-infix:0.3.0
     \--- com.netflix.netflix-commons:netflix-eventbus:0.3.0
          \--- com.netflix.eureka:eureka-client:1.10.11
               +--- org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:3.0.2
               |    \--- io.pivotal.spring.cloud:spring-cloud-services-starter-service-registry:3.2.2.BUILD-SNAPSHOT:20210329.130303-8
               |         +--- runtimeClasspath (requested io.pivotal.spring.cloud:spring-cloud-services-starter-service-registry)
               |         \--- io.pivotal.spring.cloud:spring-cloud-services-dependencies:3.2.2.BUILD-SNAPSHOT:20210329.130301-8
               |              \--- runtimeClasspath
               \--- com.netflix.eureka:eureka-core:1.10.11
                    \--- org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:3.0.2 (*)

This is causing our client app to blow up with:

   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT ***************************
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT APPLICATION FAILED TO START
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT ***************************
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT Description:
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT An attempt was made to call a method that does not exist. The attempt was made from the following location:
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT     org.apache.catalina.authenticator.AuthenticatorBase.startInternal(AuthenticatorBase.java:1355)
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT The following method did not exist:
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT     javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT The method's class, javax.servlet.ServletContext, is available from the following locations:
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT     jar:file:/home/vcap/app/BOOT-INF/lib/servlet-api-2.5.jar!/javax/servlet/ServletContext.class
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT     jar:file:/home/vcap/app/BOOT-INF/lib/tomcat-embed-core-9.0.44.jar!/javax/servlet/ServletContext.class
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT The class hierarchy was loaded from the following locations:
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT     javax.servlet.ServletContext: file:/home/vcap/app/BOOT-INF/lib/servlet-api-2.5.jar
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT Action:
   2021-04-12T16:58:31.55+0100 [APP/PROC/WEB/0] OUT Correct the classpath of your application so that it contains a single, compatible version of javax.servlet.ServletContext
   2021-04-12T16:58:31.66+0100 [APP/PROC/WEB/0] OUT Exit status 1

spikymonkey avatar Apr 12 '21 16:04 spikymonkey

me too, I have exactly the same problem.

mikhailian avatar Dec 07 '21 09:12 mikhailian

你好,邮件已收到!

wangwensan123 avatar Dec 07 '21 09:12 wangwensan123

I believe this has been fixed in the recent versions.

kvmw avatar Feb 09 '22 15:02 kvmw