Spring Cloud起動エラー-java.lang.NoSuchMethodErr
7715 ワード
最近はプロジェクトの一つの機能をmicroserviceに設計したいです.システム部品の結合度を下げて、後期メンテナンスと拡張に便利です.これまでmicroserviceに触れたことがありませんでしたが、microserviceはここ二年間比較的に人気があります.技術者としては常に新しい技術を振り回すことが好きなので、インターネットでquick starterを探すことにしました.https://spring.io/blog/2015/07/14/microservices-with-spring.
文の手順によって、まずサービス登録項目を作成する必要があります.本文で提示されたガイドはとても簡潔で、自分でspring boot projectを新築しました.copyはPOM構成を提供しました.その結果、運行時に下記のエラーに遭遇しました.
あまり考えもしませんでした.直接ビッグしてみました.(googleを使いたいですが、確かに遅いです.)いくつかのstackover flowの記事を見ましたが、基本的にカバンの間にある互換性の問題だと断定できます.このコピーから出たPOMファイルを自分で確認しました.
修正後のPOMファイルは以下の通りです.参考にしてください.
文の手順によって、まずサービス登録項目を作成する必要があります.本文で提示されたガイドはとても簡潔で、自分でspring boot projectを新築しました.copyはPOM構成を提供しました.その結果、運行時に下記のエラーに遭遇しました.
java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.([Ljava/lang/Object;)V
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:161)
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:102)
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:68)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:74)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:358)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:317)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243)
at demo.ms.robossliu.demo.DemoApplication.main(DemoApplication.java:14)
特に最初の行の情報は、意味不明なこの方法の誤りなしを提示しているようです.Spring bootフレームの多くのコンポーネントは依存注入(DI)に基づいています.一部のエラーはコンパイル時に検出されないかもしれません.運転中だけ露出します.この方法がないと提示された以上、必ずあるコンポーネントに問題があります.バージョンが違うかどうか.あまり考えもしませんでした.直接ビッグしてみました.(googleを使いたいですが、確かに遅いです.)いくつかのstackover flowの記事を見ましたが、基本的にカバンの間にある互換性の問題だと断定できます.このコピーから出たPOMファイルを自分で確認しました.
org.springframework.boot
spring-boot-starter-parent
2.0.0.RELEASE
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter
org.springframework.cloud
spring-cloud-starter-eureka-server
org.springframework.cloud
spring-cloud-dependencies
Edgware.SR3
pom
import
自分が使っているのはspring boot 2.0バージョンで、spring cloudはEdgware.SR 3バージョンを使っていますが、まさか両者の衝突ですか?Edgware.SR 3はどのバージョンのspring cloudと依存のspring bootバージョンなのか、自分ではよく分かりません.spring cloud公式サイトを開けたら、Edgware.SR 3バージョンはspring boot 1.5.xに依存していることが分かりました.このように見ると、この二つのコンポーネントのバージョンが衝突しているので、解決方法も簡単です.あるいはspring bootバージョンを下げたり、spring cloudバージョンをアップグレードしたりします.「新技術はいつもより良い」というコンセプトを持ちながら、スプリント・クラウドを最新バージョンのFinchleyにアップグレードすることを決断しました.POMファイルを修正して、コンパイルして実行するのは全部OKです.修正後のPOMファイルは以下の通りです.参考にしてください.
4.0.0
demo.ms.robossliu
demo
0.0.1-SNAPSHOT
jar
demo
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
2.0.0.RELEASE
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-configuration-processor
2.0.0.RELEASE
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-eureka-server
1.4.4.RELEASE
org.springframework.cloud
spring-cloud-starter-config
org.springframework.cloud
spring-cloud-starter-eureka
1.4.4.RELEASE
org.springframework.cloud
spring-cloud-dependencies
Finchley.BUILD-SNAPSHOT
pom
import
spring-snapshots
Spring Snapshots
https://repo.spring.io/libs-snapshot
true
org.springframework.boot
spring-boot-maven-plugin