在Weblogic服务器上部署Spring Boot应用程序时出错

时间:2020-01-09 09:28:25

标签: spring-boot hateoas

由于我已将Hateoas依赖性添加到我的Spring启动项目中并在weblogic服务器12c上进行部署,因此解决了这个问题

启动ApplicationContext时出错。显示条件报告 在启用“调试”的情况下重新运行您的应用程序。 2020-01-09 14:18:53,591 错误org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter [[STANDBY] ExecuteThread:'3'表示队列: 'weblogic.kernel.Default(自我调整)']


申请无法开始


说明:

org.springframework.hateoas.config.HateoasConfiguration中的方法linkDiscoverers的参数0需要 单个Bean,但发现15个: -modelBuilderPluginRegistry:定义为null -modelPropertyBuilderPluginRegistry:定义为null -typeNameProviderPluginRegistry:定义为null -documentationPluginRegistry:定义为null -apiListingBuilderPluginRegistry:定义为null -operationBuilderPluginRegistry:定义为null -parameterBuilderPluginRegistry:定义为null -ExpandedParameterBuilderPluginRegistry:定义为null -resourceGroupingStrategyRegistry:定义为null -operationModelsProviderPluginRegistry:定义为null -defaultsProviderPluginRegistry:定义为null -pathDecoratorRegistry:定义为null -relProviderPluginRegistry:由类路径资源中的方法“ relProviderPluginRegistry”定义 [org / springframework / hateoas / config / HateoasConfiguration.class] -linkDiscovererRegistry:定义为null -entityLinksPluginRegistry:由类路径资源中的方法'entityLinksPluginRegistry'定义 [org / springframework / hateoas / config / WebMvcEntityLinksConfiguration.class]

动作:

考虑将其中一个bean标记为@Primary,更新使用者以接受多个bean,或使用@Qualifier标识 应该食用的豆子

<2020年1月9日,下午2:18:53,633 IST>'可用:预期中的单个 匹配的豆,但发现15: modelBuilderPluginRegistry,modelPropertyBuilderPluginRegistry,typeNameProviderPluginRegistry,documentationPluginRegistry,apiListingBuilderPluginRegistry,operationBuilderPluginRegistry,parameterBuilderPluginRegistry,expandedParameterBuilderPluginRegistry,resourceGroupingStratyyyyy,yy 在weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:140) 在weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124) 在weblogic.application.internal.flow.ModuleStateDriver $ 3.next(ModuleStateDriver.java:233) 在weblogic.application.internal.flow.ModuleStateDriver $ 3.next(ModuleStateDriver.java:228) 在weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45) 被截断了。请参阅日志文件以获取完整的stacktrace 原因:org.springframework.beans.factory.NoUniqueBeanDefinitionException:否 类型的合格豆 可用的“ org.springframework.plugin.core.PluginRegistry”:预期为单个 匹配的豆,但发现15: modelBuilderPluginRegistry,modelPropertyBuilderPluginRegistry,typeNameProviderPluginRegistry,documentationPluginRegistry,apiListingBuilderPluginRegistry,operationBuilderPluginRegistry,parameterBuilderPluginRegistry,expandedParameterBuilderPluginRegistry,resourceGroupingStrategyRegistry,operationModelsProviderRegistryginyy,注册代理,连接器注册器,连接器注册器,连接器注册器,连接器注册器,连接器注册表 在org.springframework.beans.factory.config.DependencyDescriptor.resolveNotUnique(DependencyDescriptor.java:220) 在org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1265) 在org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1207) 在org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:874) 在org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:778) 被截断了。请参阅日志文件以获取完整的stacktrace > <09-Jan-2020,2:18:54,0 PM IST>

POM.xml文件:

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.1.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.bt</groupId>
    <artifactId>Some project</artifactId>
    <version>1.0</version>
    <packaging>war</packaging>
    <name>some Project</name>
    <description>REST enabled adapter to communicate with tetProject database</description>


    <repositories>
        <repository>
            <id>some Repo</id>
            <name><xyz.some.name></name>
            <url><xyz.some.url></url>
        </repository>
    </repositories>

    <properties>
        <java.version>1.8</java.version>
        <skipTests>true</skipTests>
     </properties>
   <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.tomcat.embed</groupId>
                    <artifactId>tomcat-embed-websocket</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>commonlibs.com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20160810</version>
        </dependency>
    <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.6.1</version>
        </dependency>  
        <dependency>
            <groupId>commonlibs.com.bea.core</groupId>
            <artifactId>com.bea.core.datasource6_1.7.0.0</artifactId>
            <version>1.0</version>
        </dependency>
        <dependency>
            <groupId>commonlibs.com.bea.core.utils</groupId>
            <artifactId>com.bea.core.utils.wrapper_1.4.0.0</artifactId>
            <version>1.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
            <version>2.0.0</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
       <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-hateoas</artifactId>
        <version>1.2.2.RELEASE</version>
       </dependency>
    </dependencies>



    <build>
        <finalName>Some project</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12.4</version>
                <configuration>
                    <skipTests>${skipTests}</skipTests>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
</project>

1 个答案:

答案 0 :(得分:0)

春天告诉你问题了

org.springframework.hateoas.config.HateoasConfiguration required a single bean,
    but 15 were found:

这意味着有15种方法返回适合HateoasConfiguration的bean。

那些混蛋是谁?

春季紧随清单之后:

        - modelBuilderPluginRegistry: defined in null
        - modelPropertyBuilderPluginRegistry: defined in null
        - typeNameProviderPluginRegistry: defined in null
        - documentationPluginRegistry: defined in null
        - apiListingBuilderPluginRegistry: defined in null
        - operationBuilderPluginRegistry: defined in null
        - parameterBuilderPluginRegistry: defined in null
        - expandedParameterBuilderPluginRegistry: defined in null
        - resourceGroupingStrategyRegistry: defined in null
        - operationModelsProviderPluginRegistry: defined in null
        - defaultsProviderPluginRegistry: defined in null
        - pathDecoratorRegistry: defined in null
        - relProviderPluginRegistry: defined by method 'relProviderPluginRegistry' 
             in class path resource
             [org/springframework/hateoas/config/HateoasConfiguration.class]
        - linkDiscovererRegistry: defined in null
        - entityLinksPluginRegistry: defined by method 'entityLinksPluginRegistry'
             in class path resource
             [org/springframework/hateoas/config/WebMvcEntityLinksConfiguration.class]

列表可能不那么清晰或不熟悉,因为其中某些方法是由框架定义的。

那该怎么办?

Spring提出了解决方案:

 Action:

    Consider marking one of the beans as @Primary,
    updating the consumer to accept multiple beans,
    or using @Qualifier to identify the bean that should be consumed

这是否意味着我需要重新配置@Bean

不一定。首先尝试查看if someone else faced the same problem

您可以在此处找到解决方案。