1. 程式人生 > >spring boot專案啟動報錯,找不到XXX類

spring boot專案啟動報錯,找不到XXX類

不是很懂csdn如何提問,所以先記錄下來,也希望知道解決方案的能給點提示。

問題描述:

    新建一個spring boot工程,並且有如下專案:

    專案一:cust-service,有啟動類CustApplication、有依賴一個base服務(base沒有application類,是以jar包形式提供一些基礎程式碼)、還有呼叫一個feign的client服務,還有依賴並呼叫redis-service服務。

    專案二:base-service,基礎程式碼、類等。

    專案三:feign-client,裡面統一定義、維護了一些feign方式的介面,供需要的專案依賴並呼叫。

    專案四:redis-service,裡面提供redis快取服務。

    其他專案:register-service、config-service等等其他基礎服務。

    現在在依次啟動register-service、config-service、redis-service之後,再啟動cust-service中的啟動類CustApplication,報錯:

java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/FilterRegistrationBean
	at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.8.0_152]
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[na:1.8.0_152]
	at java.lang.Class.getDeclaredMethods(Class.java:1975) ~[na:1.8.0_152]
	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:613) ~[spring-core-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:524) ~[spring-core-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:510) ~[spring-core-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.util.ReflectionUtils.getUniqueDeclaredMethods(ReflectionUtils.java:570) ~[spring-core-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryMethod(AbstractAutowireCapableBeanFactory.java:697) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:640) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:609) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1484) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:425) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:395) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.boot.autoconfigure.web.EmbeddedServletContainerAutoConfiguration$BeanPostProcessorsRegistrar.registerBeanDefinitions(EmbeddedServletContainerAutoConfiguration.java:136) ~[spring-boot-autoconfigure-1.5.2.RELEASE.jar:1.5.2.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:359) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:143) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:320) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:228) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:272) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:92) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.2.RELEASE.jar:1.5.2.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737) ~[spring-boot-1.5.2.RELEASE.jar:1.5.2.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370) ~[spring-boot-1.5.2.RELEASE.jar:1.5.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) ~[spring-boot-1.5.2.RELEASE.jar:1.5.2.RELEASE]
	at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134) [spring-boot-1.5.2.RELEASE.jar:1.5.2.RELEASE]
	at com.shop.cust.CustApplication.main(CustApplication.java:18) [classes/:na]
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.FilterRegistrationBean
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_152]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_152]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) ~[na:1.8.0_152]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_152]
	... 29 common frames omitted

2018-04-10 13:52:19.835  INFO 9680 --- [           main] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot
[email protected]
79f227a9: startup date [Tue Apr 10 13:52:19 CST 2018]; parent: org.spring[email protected]1a5b6f42 Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/FilterRegistrationBean at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.getDeclaredMethods(Class.java:1975) at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:613) at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:524) at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:510) at org.springframework.util.ReflectionUtils.getUniqueDeclaredMethods(ReflectionUtils.java:570) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryMethod(AbstractAutowireCapableBeanFactory.java:697) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:640) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:609) at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1484) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:425) at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:395) at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:515) at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:508) at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1188) at org.springframework.boot.SpringApplication.getExitCodeFromMappedException(SpringApplication.java:862) at org.springframework.boot.SpringApplication.getExitCodeFromException(SpringApplication.java:848) at org.springframework.boot.SpringApplication.handleExitCode(SpringApplication.java:834) at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:788) at org.springframework.boot.SpringApplication.run(SpringApplication.java:325) at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134) at com.shop.cust.CustApplication.main(CustApplication.java:18) Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.FilterRegistrationBean at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 23 more

CustApplication類如下:

package com.shop.cust;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@EnableEurekaClient
//@ComponentScan(basePackageClasses = CustApplication.class)
@ComponentScan(basePackages = "com.shop")
//@EnableFeignClients(basePackages = "com.shop")
// 再試試上面這個掃描com.shop包
//@ComponentScan(basePackages = "com.cloud")
public class CustApplication {

    public static void main(String[] args) {
        new SpringApplicationBuilder(CustApplication.class).web(true).run(args);
    }

}

問題已解決:

    將CustApplication類中的@ComponentScan(basePackages = "com.shop")改為@ComponentScan(basePackages = "com.shop.feign")即可。

    已知:若不指定@ComponentScan,預設會掃描該啟動類所在的包及其子包下的路徑。

相關推薦

spring boot專案啟動XXX

不是很懂csdn如何提問,所以先記錄下來,也希望知道解決方案的能給點提示。問題描述:    新建一個spring boot工程,並且有如下專案:    專案一:cust-service,有啟動類CustApplication、有依賴一個base服務(base沒有applica

Spring Boot專案啟動com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connec

報錯內容: com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect 或者com.netflix.discovery.s

tomcat10在linux下啟動到jre

今天買了阿里雲伺服器,就興致沖沖部署開發環境。可是前面安裝mysql蠻順的,到了裝tomcat的時候,啟動後卻報錯了: 原因是我安裝的jdk版本是10,.0.2,自己玩的嗎,就用最新的去測試。 但是配置環境變數,我改的是/etc/profile,改動如下: JAVA_H

IntelliJ IDEA 或符號

“眾鳥高飛盡,孤雲獨去閒” 在使用IntelliJ IDEA時,如果在編譯或者啟動專案時,控制檯上報瞭如下面的錯誤。 這時點選 Project Structure–》Modules選中你的專案的包檔案,Marks as Sources即可。如下圖

spring-boot:run啟動

cti filter col mave main -m 報錯 pre shared Intellij Idea中的spring boot項目,使用main方法運行可以啟動,但是使用mvn spring-boot:run啟動總是報錯 大概意思就是找不到類:org/apache

Springboot專案啟動提示Cannot determine embedded database driver class for database type NONE

我在springboot專案裡面引入了資料庫的配置: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId&g

dubbo專案啟動無法載入org.apache.zookeeper.server.ZooTrace

INFO: Server startup in 3425 ms 七月 11, 2017 3:06:04 下午 org.apache.catalina.loader.WebappClassLoader

第一個Spring Boot程式啟動

建立完成第一個Spring Boot專案後,準備執行,嘗一下勝利的果實。 啟動日誌如下 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_

spring boot伺服器啟動'spring.datasource.url' is not specified

報錯資訊'spring.datasource.url' is not specified and no embedded datasource could be auto-configured.原因資料庫沒有配置,在啟動的檔案的註解@SpringBootApplication

Spring MVC專案啟動資訊__待解決

 七月 23, 2015 5:04:35 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Cont

post請求404到指定頁面

報錯: /WEB-INF/views/order/cart/myshopcart1.jsp description:The requested resource is not available. controller中方法上少加一個註解@respons

springboot多模組打包xxxxxx

ne-parent是父模組 ne-commo是公共元件模組 ne-web是專案入口模組 錯誤: ne-web模組打包的時候,找不到ne-commo公共元件模組的包,找不到ne-commo公共元件模組的類, 原因: 1、ne-commo不能新增spring-boot-maven

springboot啟動到或無法載入主的問題

最近做的一個專案,啟動時出錯了,本來是一個類沒有載入進來,不知道怎麼想的,就把編譯後的資料夾target裡的東西全部刪掉了,再啟動就開始報錯了,剛開始以為刪掉了什麼東西,操作了一下其他的還是不行,搜了一

boost1.66.0 庫編譯到 pyconfig.h

/boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h No such file or directory原因為boost的原生錯誤,需要修改安裝指令碼python.jam1.65.1的位置在/b

boost1.65.1庫編譯到 pyconfig.h

/boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h No such file or directory 原因為boost的原生錯誤, 需要修改安裝指令碼python.jam 1.65.1的位

Flask安裝過程中“配置虛擬環境”步驟到activate.bat

按正常步驟安全Flask,在進行到“配置虛擬環境”步驟時,執行命令“virtualenv myvir”發現報錯: OSError: Command D:\myvir\Scripts\python.exe -c "import sys, pip; sys...d\"] +

thinkphp3.2訪問後臺Admin模組到控制器

thinkphp3.2版本較之前的thinkphp版本改動還是比較大的,主要還加入了專案中非常常見的多模組設計了 ok, 根據,thinkphp官方API顯示,加入這樣一句話,就可以擁有後臺模組了。

mac下編譯php擴展到php.h文件

xcode5 fat 3.0 err tool php pan clas fatal fatal error: ‘php.h‘ file not found run command "xcode-select --install" to install the

spring boot專案啟動Tomcat埠已被使用

因為用feign,所以引用了另一個spring cloud專案。 而另外一個專案的server.port寫在application.properties中。替換了本地專案的配置檔案。 把另外一個專案server.port寫在bootstrap.properties中。再次

Spring boot專案剛搭建好啟動測試出現Failed to configure a DataSource

    今天新搭建了一個springboot+gradle框架,然而,剛搭建好執行的時候,就報了一個錯誤: Error starting ApplicationContext. To display the conditions report re-r