Search code examples
springweblogic12c

Spring Boot + Eclipse + Weblogic 12.2.1


I'm having an issue when I deploy a spring boot application in weblogic 12.2.1 through Eclipse Neon. This are the components

  • Simple spring boot application with web dependency.
  • Eclipse neon
  • Weblogic 12.2.1.1 embed in eclipse

The error is:

weblogic.management.DeploymentException: java.lang.ClassNotFoundException: org.springframework.security.oauth2.client.token.AccessTokenRequest
    at weblogic.application.internal.BaseDeployment.throwAppException(BaseDeployment.java:132)
    at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:246)
    at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:66)
    at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:65)
    Truncated. see log file for complete stacktrace

But I'm not using security in the application. If I run it as "Spring Boot App" the application runs.

I guess the problem is with weblogic, how can I solve it?


Solution

  • For anybody else hitting this, it appears this is a bug in Spring Boot (spring-boot-autoconfigure) induced by the Oracle WebLogic team's pesky adherence to the EE spec. See here for more info: https://github.com/spring-projects/spring-boot/issues/9441

    The 1.5.5.RELEASE version of Spring Boot has this fixed. So if you're using gradle for example, changing your dependency as follows (and any other Spring Boot dependencies you have) should fix it:

    compile "org.springframework.boot:spring-boot-autoconfigure:1.5.5.RELEASE"
    

    I've just confirmed this works for me after getting the same problem.