Springboot管理アプリケーションを使用しようとしていて、基本的な動作ができません。SpringBoot管理アプリケーションを実行しているときのエラー
私は(スターター・ウェブおよびスターター・テストを使用して)最も単純springbootウェブアプリで開始し、依存関係のリストにspringboot管理者 - サーバーとspringboot-管理サーバ-UIを追加しました。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Added Dependency for Admin Server and its UI -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>1.4.5</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>1.4.5</version>
</dependency>
</dependencies>
mvn cleanパッケージを実行しようとするとエラーが発生します。根本的な原因を以下に示します。
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.ServletRegistrationBean
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_112]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_112]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_112]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_112]
... 51 common frames omitted
springbootアプリは絶対に必要最小限の実装で、私はこのエラーが発生したことを推測しています(下図のようにEnableAdminServer注釈の追加)
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import de.codecentric.boot.admin.config.EnableAdminServer;
@SpringBootApplication
@EnableAdminServer
public class WorkingExampleSpringBootAdminApplication {
public static void main(String[] args) {
SpringApplication.run(WorkingExampleSpringBootAdminApplication.class, args);
}
}
があり、このクラス(org.springframework.boot理由.context.embedded.ServletRegistrationBean)がorg.springframework.boot.web.servlet.ServletRegistrationBean(1.5.x)に置き換えられました。これはspring-boot-admin-serverコンポーネントで使用されている可能性があります。
私はSpringbootの以前のバージョン(1.4.4など)に切り替えることでこの問題を回避しました。それは正しいことですか?または私の構成に間違いがありますか?