Я совершенно новичок в Spring и начал делать официальные руководства с этого сайта: https://spring.io/guides
Я хотел бы сделать это руководство: https://spring.io/guides/gs/scheduling-tasks/
Я получаю следующее исключение:
2014-02-14 16:25:21.614 INFO 9032 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.scheduling.annotation.SchedulingConfiguration' of type [class org.springframework.scheduling.annotation.SchedulingConfiguration$$EnhancerByCGLIB$$5b48d763] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2014-02-14 16:25:21.638 INFO 9032 --- [ main] .c.l.ClasspathLoggingApplicationListener : Application failed to start with classpath: [file:/C:/work/Spring/SpringTutorial/target/classes/, file:/C:/work/apache-maven-3.0.3/repo/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter/1.0.0.RC1/spring-boot-starter-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot/1.0.0.RC1/spring-boot-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-core/4.0.0.RELEASE/spring-core-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-context/4.0.0.RELEASE/spring-context-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-autoconfigure/1.0.0.RC1/spring-boot-autoconfigure-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-logging/1.0.0.RC1/spring-boot-starter-logging-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/jcl-over-slf4j/1.7.5/jcl-over-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/jul-to-slf4j/1.7.5/jul-to-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/log4j-over-slf4j/1.7.5/log4j-over-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/ch/qos/logback/logback-classic/1.0.13/logback-classic-1.0.13.jar, file:/C:/work/apache-maven-3.0.3/repo/ch/qos/logback/logback-core/1.0.13/logback-core-1.0.13.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-web/1.0.0.RC1/spring-boot-starter-web-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-tomcat/1.0.0.RC1/spring-boot-starter-tomcat-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/apache/tomcat/embed/tomcat-embed-core/7.0.47/tomcat-embed-core-7.0.47.jar, file:/C:/work/apache-maven-3.0.3/repo/org/apache/tomcat/embed/tomcat-embed-logging-juli/7.0.47/tomcat-embed-logging-juli-7.0.47.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-web/4.0.0.RELEASE/spring-web-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/aopalliance/aopalliance/1.0/aopalliance-1.0.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-aop/4.0.0.RELEASE/spring-aop-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-beans/4.0.0.RELEASE/spring-beans-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-webmvc/4.0.0.RELEASE/spring-webmvc-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-expression/4.0.0.RELEASE/spring-expression-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-databind/2.3.1/jackson-databind-2.3.1.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-annotations/2.3.0/jackson-annotations-2.3.0.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-core/2.3.1/jackson-core-2.3.1.jar, file:/C:/work/apache-maven-3.0.3/repo/commons-lang/commons-lang/2.2/commons-lang-2.2.jar]
Exception in thread "main" org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:140)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:476)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:124)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:658)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:355)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:920)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:909)
at hu.kumite.Application.main(Application.java:17)
Caused by: org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.getEmbeddedServletContainerFactory(EmbeddedWebApplicationContext.java:190)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:163)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137)
... 7 more
Класс начального уровня приложения такой:
@ComponentScan
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
SpringApplication.run(ScheduledTasks.class, args);
}
}
Как видите, метод main содержит закомментированную строку. Я уже сделал учебник, а именно этот: https://spring.io/guides/gs/consuming-rest/ Он запущен и работает. Но я не могу запустить приложение ScheduledTasks, а именно:
@EnableScheduling
public class ScheduledTasks {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
@Scheduled(fixedRate = 5000)
public void reportCurrentTime() {
System.out.println("The time is now " + dateFormat.format(new Date()));
}
}
Я использую Eclipse и запускаю файл Application.java как приложение. Может ли кто-нибудь помочь мне?
источник
@EnableAutoConfiguration
в свойSpringApplication
(фрагмент кода выше не делает).SpringApplication.run(new Object[]{Application.class, ScheduledTasks.class}, args);
Сканирование
@SpringBootApplication
шоу, которое включает в себя следующие аннотации:Таким образом, вы могли бы сделать это тоже:
источник
используйте это в вашем pom.xml:
или этот:
источник
У меня было несколько классов приложений в одном проекте Spring Boot, в котором была запущена сеть, и я хотел избежать настройки веб-среды для одного из них, поэтому я вручную настроил его, как показано ниже:
ОБНОВЛЕНИЕ для Spring Boot 2 и выше:
источник
Попробуй это
источник
Ошибка предполагает, что приложение, которое вы пытаетесь запустить, не может создать экземпляр apache tomcat. Убедитесь, что вы запускаете приложение с tomcat.
если после проверки всех ваших зависимостей у вас возникла та же проблема, попробуйте добавить следующее в ваш класс конфигурации
Если вы используете внешний экземпляр tomcat (особенно для intellij), проблема может заключаться в том, что IDE пытается запустить встроенный tomcat. В этом случае удалите из файла pom.xml следующее, а затем настройте внешний tomcat с помощью мастера «Редактирование конфигураций».
источник
Добавить
источник
если вы столкнулись с этим исключением при использовании intellij и пытаетесь запустить приложение с помощью
run
кнопки. Попробуйте запустить приложение из командной строки. Например, убедитесь, что вы находитесь в правильном каталоге (каталог с вашим pom-файлом), предполагая, что этоspringboot
приложение, которое запустилоmvn spring-boot:run
меня.Кроме того, я также видел эту ошибку, когда ваше весеннее приложение зависит от другого приложения. В этом случае мне пришлось сначала запустить другое приложение, а затем запустить.
источник
mvn spring-boot:run
Добавление аннотации
@SpringBootApplication
До того, как начальный класс исправил эту проблему для меня (поэтому, по сути, это сообщение об ошибке может означать «у вас нет@SpringBootApplication
отмеченного класса где-либо, вам нужен хотя бы один)источник
У меня были похожие проблемы, когда основной метод находится в другом классе, чем тот, который был передан SpringApplcation.run ()
Поэтому решение было бы использовать закомментированную строку:
источник
Если вы упаковали его как единый jar, и это не веб-приложение, попробуйте загрузить контекст приложения, как показано ниже.
Или используйте плагин ниже, чтобы упаковать его в одну банку
вы можете указать внешние конфиги, используя команду ниже для запуска
/ http://docs.spring.io/spring-boot/docs/current/reference/htmlboot-features-external-config.html#boot-features-external-config-application-property-files
Обратите внимание, что если вы передаете свойства в качестве аргументов, не включайте
@PropertySource("classpath:test.properties")
их, они переопределят параметрыисточник
Если вы успешно запустили его с помощью командной строки
gradle bootRun
, упаковав его с командной строкойgradle jar
в jar-файл, чтобы запустить его с командной строкойjava -jar build/libs/demo.jar
, к сожалению, это не удалось с исключением:Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean
в этом случае вам нужно использоватьbootRepackage
плагин gradlespring-boot
для генерации специального бегущая банка.источник
gradle clean bootRepackage
помог мне. Раньше я вручную очищал весь кеш и создавал папку.SpringApplication
Будет пытаться создать правильный типApplicationContext
от вашего имени. По умолчанию,AnnotationConfigApplicationContext
илиAnnotationConfigEmbeddedWebApplicationContext
будет использоваться, в зависимости от того , вы разрабатываете веб - приложение или нет.Алгоритм, используемый для определения «веб-среды», довольно прост (основан на наличии нескольких классов). Вы можете использовать,
setWebEnvironment(boolean webEnvironment)
если вам нужно переопределить значение по умолчанию.Также возможно получить полный контроль над
ApplicationContext
типом, который будет использоваться при вызовеsetApplicationContextClass(…)
.[Подсказка] Часто желательно вызывать
setWebEnvironment(false)
при использованииSpringApplication
в тесте JUnit.источник
SpringApplication.run(Application.class, args);
?SpringApplicationBuilder
Добавление зависимости запуска пружины при загрузке исправило мою ошибку.
Это необходимо, если вы хотите запустить tomcat в качестве встроенного сервера.
источник
проверьте, существует ли ваш pom.xml
У меня была такая проблема this Из-за отсутствия этой зависимости
источник
В моем случае мы добавили аннотацию @Profile заново , чтобы игнорировать класс TestApplication в рабочем режиме и класс Application в тестовом режиме.
К сожалению, мы забыли добавить следующую строку в файлы application.properties:
Без этих настроек ни один профиль не был загружен, что вызвало не очень большую поговорку Spring Error.
источник
Это должно быть вызвано проблемой зависимости, в общем, вам нужно проверить зависимость.
источник
Проблема в этом классе:
Правильный способ запуска вашего приложения:
источник
Очистить хранилище является одним из возможных решений.
Windows -> удалить все подпапки в репозитории maven:
источник
Я застрял с той же проблемой. Так как я не определил Main.class и следующие аннотации в Spring-Boot с использованием Maven:
источник
Проблема заключается в исключении начального Tomcat, я пытался исключить его и использовать vert.x, поэтому, когда я интегрировать с Spring Admin, начались проблемы
источник
У меня было это исключение в следующей ситуации.
в моем ПОМе были свойства:
и имя и путь моего класса приложения ("start-class") были неправильными.
источник
У меня была похожая проблема, и проблема была в испорченном файле JAV. В моем случае
tomcat-embed-core
файл jar был сломан. Поэтому я удалил его из репозитория Maven и обновил, чтобы загрузить снова.источник
В моем случае это происходит после исключения папки ресурсов из
pom
следующего кода.Комментируя этот код начал мой код.
источник
Другой причиной этой проблемы является повреждение jav-файлов репозитория maven, поэтому вы можете использовать следующую команду для решения проблемы:
источник
Возможно, вы пропустили @SpringBootApplication в своем классе начальной загрузки.
источник
Я использую gradle, встречается, кажется, проблема, когда у меня команда LineRunner потребляет темы kafka и конечную точку проверки работоспособности для получения входящих ловушек. Я потратил 12 часов, чтобы выяснить это, и наконец обнаружил, что использовал mybatis-spring-boot-starter с spring-boot-starter-web, и у них есть некоторые конфликты. Позднее я непосредственно представил mybatis-spring, mybatis и spring-jdbc, а не mybatis-spring-boot-starter, и программа работала хорошо.
надеюсь это поможет
источник