天天看點

轉:Spring Boot 錯誤總結(累計30個常見錯誤)

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。    https://blog.csdn.net/qq_32447301/article/details/77161272

1.建立Spring boot,出現src的包上出現錯誤的叉号:

   分析原因: 你要更新一下選擇項目-----Maven----Updata project,或者删除jar包---Libraries---Maven Dependencies,然後重新關閉eclipse,重新啟動!

2.如果你項目與别人一樣,怎麼試都不行,還是報錯,或者其它問題:

    分析原因:記住一句話,小問題重新開機,大問題重裝!

3.啟動時出現警告:

   分析原因: 項目目錄設計錯誤

                     src

                     |_main

                     |_java

                     |_package name

                     |_xxxController

                     |_Application

                    application.Java 檔案不能直接放在main/java檔案夾下,必須要建一個包把他放進去

4.Web項目無法通路resources/templates/xxx.html檔案

     分析原因:沒有導入相關模闆的依賴

3.啟動時出現NoSuchBeanDefinitionException: No qualifying bean of type [con: No qualifying bean of type

    分析原因:@SpringApplicationConfiguration

5.BasicErrorController提供兩種傳回錯誤一種是頁面傳回、當你是頁面請求的時候就會傳回頁面,另外一種是json請求的時候就會傳回json錯誤:

    分析原因: 

 @RequestMapping(produces = "text/html")

    public ModelAndView errorHtml(HttpServletRequest request,

            HttpServletResponse response) {

        HttpStatus status = getStatus(request);

        Map<String, Object> model = Collections.unmodifiableMap(getErrorAttributes(

                request, isIncludeStackTrace(request, MediaType.TEXT_HTML)));

        response.setStatus(status.value());

        ModelAndView modelAndView = resolveErrorView(request, response, status, model);

        return (modelAndView == null ? new ModelAndView("error", model) : modelAndView);

    }

    @RequestMapping

    @ResponseBody

    public ResponseEntity<Map<String, Object>> error(HttpServletRequest request) {

        Map<String, Object> body = getErrorAttributes(request,

                isIncludeStackTrace(request, MediaType.ALL));

        HttpStatus status = getStatus(request);

        return new ResponseEntity<Map<String, Object>>(body, status);

          }

6.javax.servlet.ServletException: Circular view path [login]: would dispatch back to the current handler URL [/login] again出現錯誤:

 分析原因:

當沒有聲明ViewResolver時,spring會注冊一個預設的ViewResolver,就是JstlView的執行個體, 該對象繼承自InternalResoureView。

JstlView用來封裝JSP或者同一Web應用中的其他資源,它将model對象作為request請求的屬性值暴露出來, 并将該請求通過javax.servlet.RequestDispatcher轉發到指定的URL.

Spring認為, 這個view的URL是可以用來指定同一web應用中特定資源的,是可以被RequestDispatcher轉發的。

也就是說,在頁面渲染(render)之前,Spring會試圖使用RequestDispatcher來繼續轉發該請求。

解決:消除預設轉發,修改view和path,讓他們不同名。

7.當以.yml結尾的配置出現報錯:

    分析原因:

                 if xxxxxx:

                (空格)xxxxx

8.當出現錯誤java.net.BindException: Address already in use: bind

 解決:打開Windows程序管理器結束javaw.exe,重新運作。并在每次啟動程式前,結束之前的運作。

9.當出現錯誤Spring Boot Error: java.lang.NoSuchMethodError

   解決:仔細搜尋報錯資訊中的方法名,檢視出錯類中是否缺少某方法。筆者此次報錯由于org.springframework.core.ResolvableType.forInstance方法找不到所緻,又想起 之前在pom.xml中移除了parent依賴,想起是否改檔案沒有完整下載下傳。查詢了官網說明:當移除parent依賴時,需要增加spring-boot-dependencies的依賴。是以pom.xml中在<dependencies>前新增以下依賴。

<dependencyManagement>

  <dependencies>

    <dependency>

      <groupId>org.springframework.boot</groupId>

      <artifactId>spring-boot-dependencies</artifactId>

      <version>1.3.3.RELEASE</version>

      <type>pom</type>

      <scope>import</scope>

    </dependency>

  </dependencies>

</dependencyManagement>

10.當出現錯誤java -jar myApplication.jar

     分析原因:系統報錯,Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.

    解決:在Application.java主程式入口中加入以下代碼:

@Bean

public EmbeddedServletContainerFactory servletContainer() {

    TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();

    return factory;

}

11.啟動spring boot報錯

    解決:這個原因是maven依賴包沖突,有重複的依賴。 檢查一下你引入的jar包裡面是不是有相同的方法名。

12.結果啟動時報錯BeanCreationException:

org.springframework.beans.factory.BeanCreationException:

Error creating bean with name 'userController':

Injection of autowired dependencies failed;

nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.caizhaotu.dao.user.UserRepository com.caizhaotu.controller.user.UserController.userRepository;

nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRepository': Invocation of init method failed; nested exception is java.util.NoSuchElementException

解決:application.java 可以放在controller、service、dao層都可以,但是要保證application.java 包位置處于所有層的上級,比如com.xxx.web、com.xxx.service、com.xxx.dao。把application.java放在com.xxx即可。@SpringBootApplication 注解效果等于 @Configuration,@EnableAutoConfiguration 及 @ComponentScan 這三個注解一起使用,是以不要在 Controller 在啟動類上面添加 @EnableAutoConfiguration 。

13.class TaskImpl 中注入失敗,目标變量為null并報錯

     解決:1.一些業務細節代碼已經單機跑通了。 2.使用了@SpringBootApplication進行自動化配置與掃描。3.沒有遺漏的@Component。

14.Spring Boot單元測試報錯

java.lang.NoClassDefFoundError: org/mockito/internal/util/MockUtil

    at org.springframework.boot.test.mock.mockito.MockReset.<clinit>(MockReset.java:56)

    at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.beforeTestMethod(ResetMocksTestExecutionListener.java:44)

    at org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:269)

    at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)

    at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)

    at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)

    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)

    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)

    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)

    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)

    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)

    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)

    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)

    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)

    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)

    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)

    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)

    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)

    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)

    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:117)

    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)

    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:262)

    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:84)

Caused by: java.lang.ClassNotFoundException: org.mockito.internal.util.MockUtil

    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

  解決:在build.gradle引用compile中加入[group: 'org.mockito', name: 'mockito-all', version: '1.10.19']

15.eclipse建立springboot的項目,出現以下錯誤The type org.springframework.context.ConfigurableApplicationContext cannot be resolved. It is indirectly referenced from required .class files

  解決:執行 mvn dependency:purge-local-repository   mvn clean

16.[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.4.3.RELEASE:repackage (default-cli) on project springboot_1: Execution default-cli of goal org.springframework.boot:spring-boot-maven-plugin:1.4.3.RELEASE:repackage failed: Source must refer to an existing file -> [Help 1]

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.

[ERROR] Re-run Maven using the -X switch to enable full debug logging.

[ERROR] For more information about the errors and possible solutions, please read the following articles:

[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException Process finished with exit code 1

   解決:直接使用maven的package指令,即可完成打包,若有新的内容添加,可以使用spring-boot-maven-plugin的repackage指令.詳細步驟如下圖

17.使用spring boot 使用druid,啟動tomcat時報錯:提示由于unregister mbean error導緻無法啟動啟動類。

     解決:在配置檔案加入spring.jmx.enabled: false

18. 出現這樣的錯誤:at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]

at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:467) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1173) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]

      解決:删除jar包,重新導入。

19.在spring boot項目中出現不能加載iframe 頁面報一個"Refused to display 'http://......' in a frame because it set 'X-Frame-Options' to 'DENY'. "錯誤

      解決:因spring Boot采取的java config,在配置spring security的位置添加:

@Override

protected void configure(HttpSecurity http) throws Exception {

       http.headers().frameOptions().disable();

     http

      .csrf().disable();

     http

      .authorizeRequests()

             .anyRequest().authenticated();

      http.formLogin()

          .defaultSuccessUrl("/platform/index",true)

          .loginPage("/login")

          .permitAll()

        .and()

          .logout()

           .logoutUrl("/logout");

      http.addFilterBefore(wiselyFilterSecurityInterceptor(),FilterSecurityInterceptor.class);

}

20.錯誤提示如下:

Caused by: java.lang.IllegalStateException: Tomcat connector in failed state

at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:159) ~[spring-boot-1.3.6.RELEASE.jar:1.3.6.RELEASE]

... 15 common frames omitted

2017-04-14 19:36:55.419 ERROR 19420 --- [  restartedMain] o.a.coyote.http11.Http11NioProtocol      : Failed to start end point associated with ProtocolHandler ["http-nio-8080"]

    解決:是NI server占據了8080端口。

21.出現springboot架構maven建構fastJson啟動報錯。

Exception in thread "main" java.lang.IllegalStateException: Failed to read Class-Path 

attribute from manifest of jar file:

/E:/myRepository/repositotyExe/repositoty/com/alibaba/fastjson/1.2.32/fastjson-1.2.32.jar

at org.springframework.boot.devtools.restart.ChangeableUrls.

getUrlsFromClassPathOfJarManifestIfPossible(ChangeableUrls.java:110)

at org.springframework.boot.devtools.restart.ChangeableUrls.fromUrlClassLoader

(ChangeableUrls.java:96)

at org.springframework.boot.devtools.restart.DefaultRestartInitializer.getUrls

(DefaultRestartInitializer.java:93)

at org.springframework.boot.devtools.restart.DefaultRestartInitializer.getInitialUrls(

DefaultRestartInitializer.java:56)

at org.springframework.boot.devtools.restart.Restarter.<init>(Restarter.java:140)

at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:546)

at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplication

StartingEvent(RestartApplicationListener.java:67)

at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent

(RestartApplicationListener.java:45)

at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener

(SimpleApplicationEventMulticaster.java:167)

at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent

(SimpleApplicationEventMulticaster.java:139)

at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent

(SimpleApplicationEventMulticaster.java:122)

at org.springframework.boot.context.event.EventPublishingRunListener.starting(

EventPublishingRunListener.java:68)

at org.springframework.boot.SpringApplicationRunListeners.starting(SpringAppl

icationRunListeners.java:48)

at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)

at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162)

at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151)

at com.bldz.springboot.Spring_Boot_JdbcTemplate.App.main(App.java:14)

Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)

    at java.util.zip.ZipFile.read(Native Method)

    at java.util.zip.ZipFile.access$1400(ZipFile.java:60)

    at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:717)

    at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:419)

    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)

    at sun.misc.IOUtils.readFully(IOUtils.java:65)

    at java.util.jar.JarFile.getBytes(JarFile.java:425)

    at java.util.jar.JarFile.getManifestFromReference(JarFile.java:193)

    at java.util.jar.JarFile.getManifest(JarFile.java:180)

    at org.springframework.boot.devtools.restart.ChangeableUrls.getUrlsFromCl

assPathOfJarManifestIfPossible(ChangeableUrls.java:107)

    ... 16 more

    解決:删除maven倉庫下的 /E:/myRepository/repositotyExe/repositoty/com/alibaba/fastjson/1.2.32/fastjson-1.2.32.jar,重新編譯即可!

22.Spring Boot Maven項目啟動報錯

ERROR 2172 --- [ main] o.s.boot.SpringApplication : Application startup failed    org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Jetty servlet container

at org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer.start(JettyEmbeddedServletContainer.java:124) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]

at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:293) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]

at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE]

at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]

at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:764) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]

at org.springframework.boot.SpringApplication.doRun(SpringApplication.java:357) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:305) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:1124) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:1113) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]

at com.easemob.weichat.gateway.im.IMRoutewayServerStarter.main(IMRoutewayServerStarter.java:28) [classes/:na]

Caused by: java.net.BindException: Address already in use

at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_112]

at sun.nio.ch.Net.bind(Net.java:433) ~[na:1.8.0_112]

at sun.nio.ch.Net.bind(Net.java:425) ~[na:1.8.0_112]

at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[na:1.8.0_112]

at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) ~[na:1.8.0_112]

at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:321) ~[jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80) ~[jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236) ~[jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) ~[jetty-util-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer.start(JettyEmbeddedServletContainer.java:118) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]

... 10 common frames omitted

     解決:典型的端口被占用,,改下你的boot啟動端口。

23.The type javax.servlet.http.HttpServletRequest cannot be resolved. It is indirectly referenced from

required .class files

是缺少serverlet的引用庫,

  解決:

    1.工程右鍵-properties->java build path

    2.在java build path的libraries tab頁中選擇Add external Jars按鈕

   3. 選擇eclipse的安裝目錄,我本機的路徑如下,你自己需要根據自己的路徑查找添加。E:\eclipse-java-indigo-SR1-win32\eclipse\plugins 選擇javax.servlet.jsp_2.0.0.v201101211617.jar;javax.servlet_2.5.0.v201103041518.jar 進行添加即可

   注釋:由于版本不同,檔案包名可能稍有差別。

24.Ambiguous mapping. Cannot map 'XXXController' method

解決:

@RequestMapping(value=XXX) 可能是同一個Controller或者 是不同的Controller。 XXX重名導緻。

25.打開Eclipse提示“The default workspace “xxxx” is in use or cannot be created Please choose a different one“

解決:

第一種:出現這種情況一般是workspace的配置檔案中出現了.lock檔案(workspace/.metadata/.lock),鎖定了workspace。把.lock檔案删除即可。如果該檔案不能删除,可能是因為javaw.exe程序未結束,結束該程序及eclipse.exe程序即可删除。

第二種:重新啟動電腦。

26.missing artifact com.oracle:ojdbc6:jar:11.2.0.1.0問題解決 ojdbc包pom.xml出錯

原因:Oracle的ojdbc.jar是收費的,是以maven的中央倉庫中沒有這個資源,隻能通過配置本地庫才能加載到項目中去。

解決:

1.首先确定你是否有安裝oracle,如果有安裝的話,找到ojdbc6.jar包

D:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar(這是我路徑,你們的可能與我不同)

2.将ojdbc6.jar包添加到maven本地倉庫或者手動加入jar包。

3.最後找到項目的pom.xml引入如下代碼,右擊項目名稱,找到maven,找到update project更新下就ok了。

27.tomcat用shell定時清理日志

解決:

1.寫一個/usr/local/script/cleanTomcatlog.sh腳本

#!/bin/bash

export LANG=zh_CN

#tomcat1日志檔案路徑

export WEB_TOMCAT1=/usr/local/tomcat1/logs

#tomcat2日志檔案路徑

export WEB_TOMCAT2=/usr/local/tomcat2/logs

#tomcat3日志檔案路徑

export WEB_TOMCAT3=/usr/local/tomcat3/logs

echo > ${WEB_TOMCAT1}/catalina.out

echo > ${WEB_TOMCAT2}/catalina.out

echo > ${WEB_TOMCAT3}/catalina.out

find ${WEB_TOMCAT1}  

    @Bean  

    public MultipartConfigElement multipartConfigElement() {  

        MultipartConfigFactory factory = new MultipartConfigFactory();  

        //檔案最大  

        factory.setMaxFileSize("10240MB"); //KB,MB  

        /// 設定總上傳資料總大小  

        factory.setMaxRequestSize("102400MB");  

        return factory.createMultipartConfig();  

    }  

}  

30.spring使用swagger這個錯誤怎麼解決,項目能運作,就是一直報錯誤。

錯誤日志:

09:09:55.044 logback [RMI TCP Connection(9)-127.0.0.1] DEBUG s.d.s.w.r.o.OperationResponseClassReader - Setting spring response class to:ServerResponse

09:09:55.044 logback [RMI TCP Connection(9)-127.0.0.1] DEBUG s.d.s.r.o.OperationAuthReader - Authorization count 0 for method resetPassword

09:09:55.046 logback [RMI TCP Connection(9)-127.0.0.1] ERROR s.d.s.r.o.OperationHttpMethodReader - Invalid http method: postValid ones are [[Lorg.springframework.web.bind.annotation.RequestMethod;@5c8bcf2a]

java.lang.IllegalArgumentException: No enum constant org.springframework.web.bind.annotation.RequestMethod.post

    at java.lang.Enum.valueOf(Enum.java:238) ~[na:1.8.0_171]

    at org.springframework.web.bind.annotation.RequestMethod.valueOf(RequestMethod.java:35) ~[spring-web-4.3.12.RELEASE.jar:4.3.12.RELEASE]

    at springfox.documentation.swagger.readers.operation.OperationHttpMethodReader.apply(OperationHttpMethodReader.java:50) ~[springfox-swagger-common-2.4.0.jar:2.4.0]

    at springfox.documentation.spring.web.plugins.DocumentationPluginsManager.operation(DocumentationPluginsManager.java:113) [springfox-spring-web-2.4.0.jar:2.4.0]

    at springfox.documentation.spring.web.readers.operation.ApiOperationReader.read(ApiOperationReader.java:80) [springfox-spring-web-2.4.0.jar:2.4.0]

    at springfox.documentation.spring.web.scanners.CachingOperationReader$1.load(CachingOperationReader.java:50) [springfox-spring-web-2.4.0.jar:2.4.0]

    at springfox.documentation.spring.web.scanners.CachingOperationReader$1.load(CachingOperationReader.java:48) [springfox-spring-web-2.4.0.jar:2.4.0]

    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3628) [guava-20.0.jar:na]

    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2336) [guava-20.0.jar:na]

    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2295) [guava-20.0.jar:na]

    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2208) [guava-20.0.jar:na]

解決:

将小寫post改成大寫就好了  或者 @RequestMapping 注解增加 method = RequestMethod.POST

    @ApiOperation(value="擷取所有的區域資訊", notes="擷取區域清單", httpMethod = "GET", response =Area.class, produces = "application/json")

    @RequestMapping(value = "/listarea", method = RequestMethod.GET)

或者

    @ApiOperation(value="擷取所有的區域資訊", notes="擷取區域清單", httpMethod = "POST", response =Area.class, produces = "application/json")

    @RequestMapping(value = "/listarea", method = RequestMethod.POST)

31. 無法下載下傳SpringBoot 2.0.0.M3和SpringCloud Finchley.M2

解決:

+ 在pom.xml檔案裡加上如下代碼(可參考[product的pom.xml](https://gitlab-demo.com/SpringCloud_Sell/product/blob/master/pom.xml)):

<repositories>

    <repository>

        <id>spring-snapshots</id>

        <name>Spring Snapshots</name>

        <url>https://repo.spring.io/snapshot</url>

        <snapshots>

            <enabled>true</enabled>

        </snapshots>

    </repository>

    <repository>

        <id>spring-milestones</id>

        <name>Spring Milestones</name>

        <url>https://repo.spring.io/milestone</url>

        <snapshots>

            <enabled>false</enabled>

        </snapshots>

    </repository>

</repositories>

<pluginRepositories>

    <pluginRepository>

        <id>spring-snapshots</id>

        <name>Spring Snapshots</name>

        <url>https://repo.spring.io/snapshot</url>

        <snapshots>

            <enabled>true</enabled>

        </snapshots>

    </pluginRepository>

    <pluginRepository>

        <id>spring-milestones</id>

        <name>Spring Milestones</name>

        <url>https://repo.spring.io/milestone</url>

        <snapshots>

            <enabled>false</enabled>

        </snapshots>

    </pluginRepository>

</pluginRepositories>

+ 若在自己配置了國内maven庫鏡像後無法下載下傳以上版本,則請将鏡像注釋掉,用maven預設的中央倉庫下載下傳(如果覺得太慢,就用科學上網)

 32. 遇到Eureka Client無法啟動的情況

解決:

+ 如果用的版本是SpringBoot 2.0.0.M3和SpringCloud Finchley.M2按照視訊可正常啟動

+ 如果是高版本無法啟動時,需要在pom.xml中加入如下依賴:

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-web</artifactId>

</dependency>

33.order項目的server子產品不能正常引入product項目中的client子產品

出現原因

+ 可能是因為product項目的client子產品還沒有打包成功,order項目的server子產品不能找不到該依賴

解決:

+ 1.先對product項目,在父子產品下進行maven打包

mvn clean install -Dmaven.test.skip=true

+ 2.再進入order項目,用同樣的指令再進行打包

待續....

繼續閱讀