2017-02-24 157 views
0

我正在尝试使用Springboot管理应用程序,但无法获取基本工作。运行SpringBoot Admin应用程序时出现错误

我开始用最简单的springboot Web应用程序(使用起动机的Web和启动测试),并且增加了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 package会引发错误。根本原因如下所示。

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)来解决这个问题。这是正确的做法吗?或者我在配置中犯了什么错误?

回答

1

使用spring-boot-admin-server的版本1.4.6和spring-boot-admin-server-ui而不是1.4.5修复了这个问题。

相关问题