Skip to content

搭建项目出现报错问题汇总

hongjiatao edited this page Jul 29, 2022 · 1 revision

搭建项目出现报错问题汇总

1.Gateway项目启动出现一下错误Consider defining a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' in your configuration.

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of method modifyRequestBodyGatewayFilterFactory in org.springframework.cloud.gateway.config.GatewayAutoConfiguration required a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' that could not be found.


Action:

Consider defining a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' in your configuration.

解决方案:排除web依赖即可。因为gateway和springboot-web不兼容

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-gateway</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

2.pom文件出现灰色且有删除的线解决方案

image

解决方案:

打开设置 settings --> maven --> Ignored Files 取消相应pom的勾选,然后确定即可

image

3.报错Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true

***************************
APPLICATION FAILED TO START
***************************

Description:

The bean 'sentinelGatewayFilter', defined in class path resource [com/alibaba/cloud/sentinel/gateway/scg/SentinelSCGAutoConfiguration.class], could not be registered. A bean with that name has already been defined in class path resource [com/hjt/config/GatewayConfig.class] and overriding is disabled.

Action:

Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true

问题分析:就是出现bean名字相同不能重复注册

解决方案:

spring
   main:
     allow-bean-definition-overriding: true

4.报错Consider defining a bean of type 'springfox.documentation.schema.TypeNameExtractor' in your configuration.

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of constructor in com.github.xiaoymin.knife4j.spring.plugin.DynamicResponseModelReader required a bean of type 'springfox.documentation.schema.TypeNameExtractor' that could not be found.


Action:

Consider defining a bean of type 'springfox.documentation.schema.TypeNameExtractor' in your configuration.

解决方案:在启动类加下注解

@ComponentScan({"springfox.documentation.schema"})

5.引进nacos依赖出现Caused by: java.lang.NoClassDefFoundError: javax/servlet/Filter

引进改依赖即可

        <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-tomcat</artifactId>
      </dependency>

6.knife4j报错 Consider defining a bean of type 'springfox.documentation.schema.TypeNameExtractor' in your configuration.


APPLICATION FAILED TO START


Description:

Parameter 0 of constructor in com.github.xiaoymin.knife4j.spring.plugin.DynamicResponseModelReader required a bean of type 'springfox.documentation.schema.TypeNameExtractor' that could not be found.


Action:

Consider defining a bean of type 'springfox.documentation.schema.TypeNameExtractor' in your configuration.

原因是我配置写了配置了这些东西

knife4j:
  enable: true
  # 开启生产环境屏蔽  true 关闭swagger   false 开启swagger
  production: false

把上面配置删除即可。

7.Caused by: java.lang.ClassNotFoundException: javax.validation.constraints.Size

完整报错如下:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sizePlugin' defined in class path resource [springfox/bean/validators/configuration/BeanValidatorPluginsConfiguration.class]: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [springfox.bean.validators.plugins.schema.SizeAnnotationPlugin] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:571) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) [spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) [spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:405) [spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) [spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE]
	at com.hjt.SystemApplication.main(SystemApplication.java:9) [classes/:na]
Caused by: java.lang.IllegalStateException: Failed to introspect Class [springfox.bean.validators.plugins.schema.SizeAnnotationPlugin] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]
	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:481) ~[spring-core-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321) ~[spring-core-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.buildLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:232) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.findLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:210) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(InitDestroyAnnotationBeanPostProcessor.java:149) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(CommonAnnotationBeanPostProcessor.java:294) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:1093) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:568) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	... 16 common frames omitted
Caused by: java.lang.NoClassDefFoundError: javax/validation/constraints/Size
	at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.8.0_291]
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[na:1.8.0_291]
	at java.lang.Class.getDeclaredMethods(Class.java:1975) ~[na:1.8.0_291]
	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:463) ~[spring-core-5.2.12.RELEASE.jar:5.2.12.RELEASE]
	... 23 common frames omitted
Caused by: java.lang.ClassNotFoundException: javax.validation.constraints.Size
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[na:1.8.0_291]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[na:1.8.0_291]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) ~[na:1.8.0_291]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[na:1.8.0_291]
	... 27 common frames omitted

原因分析:没有引入某个类。

解决方案:引入以下依赖即可

   <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>

8.could not find artifact com.hjt:demo-modules:pom:1.0.0.RELAEASE in nexus-aliyun(http://maven.aliyun.com/nexus/content/groups/public)

image

原因分析:看了下是demo-modules这个模块的pom文件找不到

解决方案:把demo-modules中的pom文件注释掉

image