Spring 启动 + Eclipse + Weblogic 12.2.1

Spring Boot + Eclipse + Weblogic 12.2.1

当我通过 Eclipse Neon 在 weblogic 12.2.1 中部署 spring 引导应用程序时遇到问题。这是组件

错误是:

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

但我没有在应用程序中使用安全性。如果我 运行 它作为 "Spring Boot App" 应用程序 运行s。

我猜是weblogic的问题,我该如何解决?

对我来说,当使用 WebLogic 控制台部署 war 文件时,此异常消失了。似乎是 Eclipse-WebLogic 集成中的错误。

这里的另一个人被迫部署到 weblogic :\

这就是我为解决 weblogic、eclipse 和 spring-boot 之间的集成问题所做的工作:

  1. 我已经在我的 pom 中添加了 oauth 依赖项:

```

<dependency>
   <groupId>org.springframework.security.oauth</groupId>
   <artifactId>spring-security-oauth2</artifactId>
</dependency>
```

但在那之后,weblogic 向我询问了每个休息端点(不是执行器端点)的用户名和密码

所以,第二点来了:

  1. 从自动配置中排除安全性(或根据需要进行调整)

```

    @EnableAutoConfiguration(exclude = {      org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class 
})

``` 希望对您有所帮助!

对于遇到此问题的任何其他人来说,这似乎是 Spring 引导 (spring-boot-autoconfigure) 中的一个错误,由 Oracle WebLogic 团队讨厌地遵守 EE 规范引起。有关详细信息,请参阅此处:https://github.com/spring-projects/spring-boot/issues/9441

Spring Boot 的 1.5.5.RELEASE 版本已修复此问题。因此,如果您正在使用 gradle,例如,如下更改您的依赖项(以及您拥有的任何其他 Spring 启动依赖项)应该修复它:

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

遇到同样的问题后,我刚刚确认这对我有用。