[Spring] [Actuators] Не удалось обработать кандидатов на импорт для класса конфигурации - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь внедрить исполнительные механизмы в мой весенний проект (НЕ в пружинную загрузку).Я добавил ниже зависимости в моем файле pom:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-actuator</artifactId>
        <version>1.3.5.RELEASE</version>
    </dependency>

Также добавил класс ниже:

import java.util.Collection;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.PublicMetricsAutoConfiguration;
import org.springframework.boot.actuate.endpoint.MetricsEndpoint;
import org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMapping;
import org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter;
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

@Configuration
@Import({EndpointAutoConfiguration.class, PublicMetricsAutoConfiguration.class})
public class SpringBootActuatorConfigBindings {

    @Bean
    @Autowired
    public EndpointHandlerMapping endpointHandlerMapping(Collection<? extends MvcEndpoint> endpoints) {
        return new EndpointHandlerMapping(endpoints);
    }

    @Bean
    @Autowired
    public EndpointMvcAdapter metricsEndPoint(MetricsEndpoint delegate) {
        return new EndpointMvcAdapter(delegate);
    }
}

Но при запуске я получаю ошибку ниже:

[local] [] [ERROR] [2019-04-22T14: 24: 47,347] [Консольный сканер] [work.web.context.ContextLoader] Ошибка инициализации контекста org.springframework.beans.factory.BeanDefinitionStoreException: не удалось обработать импорткандидаты в конфигурационный класс [com.mycompany.ans.processor.bindings.ProcessorBindings];Вложенное исключение - java.lang.IllegalStateException: не удалось проанализировать аннотированные методы в классе com.mycompany.ans.processor.bindings.SpringBootActuatorConfigBindings в org.springframework.context.annotation.ConfigurationClassParser. ~avaCessing (spring) :995context-5.1.1.RELEASE.jar: 5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass (ConfigurationClassParser.java:302) ~ [spring-context-5.1.1.RELEASE.jar: 5.1.1.RELEASE] в org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass (ConfigurationClassParser.java:242) ~ [spring-context-5.1.1.RELEASE.jar: 5.1.1.RELEASE] в org.springframework.context.annotation.ConfigurationClassParser.parse (ConfigurationClassParser.java:199) ~ [spring-context-5.1.1.RELEASE.jar: 5.1.1.RELEASE] в org.springframework.context.annotation.ConfigurationClassParser.parse (ConfigurationClassParser.java167) ~ [spring-context-5.1.1.RELEASE.jar: 5.1.1.RELEASE] at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions (ConfigurationClassPostProcessor.java:315) ~ [spring-context-5.1.1.RELEASE.jar: 5.1.1.RELEASE] в org.spring.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry (ConfigurationClassPostProcessor.java:232) ~ [spring-context-5.1.1.RELEASE.jar: 5.1.1.RELEASE] в org.springframework.275) ~ [spring-context-5.1.1.RELEASE.jar: 5.1.1.RELEASE] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors (PostProcessorRegistrationDelegate.java:95) -.1-spring.RELEASE.jar: 5.1.1.RELEASE] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors (AbstractApplicationContext.java:691) ~ [spring-context-5.1.1.RELEASE.jEL: 5.1.1.Rв org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:528) ~ [spring-context-5.1.1.RELEASE.jar: 5.1.1.RELEASE] в org.springframework.web.context.ContextLader.configureAndRefreshWebApplicationContext (ContextLoader.java:400) ~ [spring-web-5.1.1.RELEASE.jar: 5.1.1.RELEASE] at org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java1): 29web-5.1.1.RELEASE.jar: 5.1.1.RELEASE] at org.springframework.web.context.ContextLoaderListener.contextInitialized (ContextLoaderListener.java:103) [spring-web-5.1.1.RELEASE.jar: 5.1.1.RELEASE] at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized (ContextHandler.java:952) [jetty-server-9.4.12.v20180830.jar: 9.4.12.v20180830] в org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized (ServletContextHandler.java:558) [jetty-servlet-9.4.12.v20180830.jar: 9.4.12.v20180830] в org.eclipse.jetty.server.handler.ConstxtContexttHandler.java:917) [jetty-server-9.4.12.v20180830.jar: 9.4.12.v20180830] в org.eclipse.jetty.servlet.ServletContextHandler.startContext (ServletContextHandler.java:370)[Причал-сервлет-9.4.12.v20180830.jar: 9.4.12.v20180830] в org.eclipse.jetty.webapp.WebAppContext.startWebapp (WebAppContext.java:1497) [Причал-WebApp-9.4.12.v20180830.jar: 9.4.12.v20180830] в org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp (JettyWebAppContext.java:360) [Мол-Maven-плагин-9.4.12.v20180830.jar: 9.4.12.v20180830] в org.eclipse.jetty.webapp.WebAppContext.startContext (WebAppContext.java:1459) [Причал-WebApp-9.4.12.v20180830.jar: 9.4.12.v20180830] в org.eclipse.jetty.server.handler.ContextHandler.doStart (ContextHandler.java:847) [Причал-сервера 9.4.12.v20180830.jar: 9.4.12.v20180830] в org.eclipse.jetty.servlet.ServletContextHandler.doStart (ServletContextHandler.java:287) [Причал-сервлет-9.4.12.v20180830.jar: 9.4.12.v20180830] в org.eclipse.jetty.webapp.WebAppContext.doStart (WebAppContext.java:545) [Причал-WebApp-9.4.12.v20180830.jar: 9.4.12.v20180830] в org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart (JettyWebAppContext.java:428) [Мол-Maven-плагин-9.4.12.v20180830.jar: 9.4.12.v20180830] at org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) [Причал-Util-9.4.12.v20180830.jar: 9.4.12.v20180830] в org.eclipse.jetty.maven.plugin.JettyRunMojo.restartWebApp (JettyRunMojo.java:517) [Мол-Maven-плагин-9.4.12.v20180830.jar: 9.4.12.v20180830] в org.eclipse.jetty.maven.plugin.ConsoleScanner.restartWebApp (ConsoleScanner.java:112) [Мол-Maven-плагин-9.4.12.v20180830.jar: 9.4.12.v20180830] в org.eclipse.jetty.maven.plugin.ConsoleScanner.checkSystemInput (ConsoleScanner.java:76) [Мол-Maven-плагин-9.4.12.v20180830.jar: 9.4.12.v20180830] на org.eclipse.jetty.maven.plugin.ConsoleScanner.run (ConsoleScanner.java:46) [jetty-maven-plugin-9.4.12.v20180830.jar: 9.4.12.v20180830] Причина: java.lang.IllegalStateException: не удалось проанализировать аннотированный методы на уроке com.mycompany.ans.processor.bindings.SpringBootActuatorConfigBindings в org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods (StandardAnnotationMetadata.java:169) ~ [Весна-ядро-5.1.1.RELEASE.jar: 5.1.1.RELEASE] в org.springframework.context.annotation.ConfigurationClassParser.retrieveBeanMethodMetadata (ConfigurationClassParser.java:392) ~ [Весна-контекст-5.1.1.RELEASE.jar: 5.1.1.RELEASE] в org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass (ConfigurationClassParser.java:317) ~ [Весна-контекст-5.1.1.RELEASE.jar: 5.1.1.RELEASE] в org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass (ConfigurationClassParser.java:242) ~ [Весна-контекст-5.1.1.RELEASE.jar: 5.1.1.RELEASE] в org.springframework.context.annotation.ConfigurationClassParser.processImports (ConfigurationClassParser.java:589) ~ [Весна-контекст-5.1.1.RELEASE.jar: 5.1.1.RELEASE] ... еще 29 причин: java.lang.NoClassDefFoundError: org / springframework / web / servlet / mvc / method / annotation / RequestMappingHandlerMapping at java.lang.ClassLoader.defineClass1 (собственный метод) ~ [?: 1.8.0_202] at java.lang.ClassLoader.defineClass (ClassLoader.java:763) ~ [?: 1.8.0_202] в java.security.SecureClassLoader.defineClass (SecureClassLoader.java:142) ~ [: 1.8.0_202] в java.net.URLClassLoader.defineClass (URLClassLoader.java:468) ~ [: 1.8.0_202] на java.net.URLClassLoader.access $ 100 (URLClassLoader.java:74) ~ [?: 1.8.0_202] at java.net.URLClassLoader $ 1.run (URLClassLoader.java:369) ~ [?: 1.8.0_202] at java.net.URLClassLoader $ 1.run (URLClassLoader.java:363) ~ [?: 1.8.0_202] at java.security.AccessController.doPrivileged (собственный метод) ~ [?: 1.8.0_202] на java.net.URLClassLoader.findClass (URLClassLoader.java:362) ~ [?: 1.8.0_202]в org.eclipse.jetty.webapp.WebAppClassLoader.foundClass (WebAppClassLoader.java:649) ~ [?:?] в org.eclipse.jetty.webapp.WebAppClassLoader.loadClass (WebAppClassLoader.java:5: 55)в java.lang.ClassLoader.loadClass (ClassLoader.java:357) ~ [?: 1.8.0_202] в java.lang.Class.getDeclaredMethods0 (собственный метод) ~ [?: 1.8.0_202] в java.lang.Class.privateGetDeclaredMethods (Class.java:2701) ~ [?: 1.8.0_202] в java.lang.Class.getDeclaredMethods (Class.java:1975) ~ [?: 1.8.0_202] в org.springframework.core.type.StandardAnnotationMetad.getAnnotatedMethods (StandardAnnotationMetadata.java:158) ~ [spring-core-5.1.1.RELEASE.jar: 5.1.1.RELEASE] в org.springframework.context.annotation.ConfigurationClassParser.retrieveBeanMethod ~jlass.serg-context-5.1.1.RELEASE.jar: 5.1.1.RELEASE] в org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass (ConfigurationClassParser.java:317) ~ [spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE] в орг.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass (ConfigurationClassParser.java:242) ~ [spring-context-5.1.1.RELEASE.jar: 5.1.1.RELEASE] в org.springframework.context.annotation.ConserConfigurationClassParser.java:589) ~ [spring-context-5.1.1.RELEASE.jar: 5.1.1.RELEASE]

Где я пропал.

1 Ответ

1 голос
/ 22 апреля 2019

Если вы проверите свои журналы исключений:

Caused by: java.lang.IllegalStateException: Failed to introspect annotated methods on class com.mycompany.ans.processor.bindings.SpringBootActuatorConfigBindings
  at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:169) ~[spring-core-5.1.1.RELEASE.jar:5.1.1.RELEASE]
  at org.springframework.context.annotation.ConfigurationClassParser.retrieveBeanMethodMetadata(ConfigurationClassParser.java:392) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE]
  at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:317) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE]
  at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE]
  at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:589) ~[spring-context-5.1.1.RELEASE.jar:5.1.1.RELEASE]
  ... 29 more
Caused by: java.lang.NoClassDefFoundError:
  org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerMapping
  at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_202]
...

Необходимо включить зависимость для Spring Web mvc, из которой реализован и необходим класс RequestMappingHandlerMapping. Это причина NoClassDefFoundError.

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>${org.springframework.version}</version>
</dependency>
...