2016-08-16 3 views
1

Я пытаюсь запустить пример загрузки Spring Spring. https://spring.io/guides/gs/spring-boot/. Мне очень нравится этот фреймворк, но проблема ниже очень расстраивает.Демо-версия Spring Boot не работает

Мой pom.xml точно, как указано в демонстрационном

<version>0.0.1-SNAPSHOT</version> 
<packaging>jar</packaging> 

<description>Demo project for Spring Boot</description> 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.4.0.RELEASE</version> 
    <relativePath/> <!-- lookup parent from repository --> 
</parent> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    <java.version>1.8</java.version> 
</properties> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 
    </plugins> 
</build> 

Стек след

Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V 
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.warn(SLF4JLocationAwareLog.java:179) 
at org.springframework.boot.SpringApplicationRunListeners.callFinishedListener(SpringApplicationRunListeners.java:91) 
at org.springframework.boot.SpringApplicationRunListeners.finished(SpringApplicationRunListeners.java:72) 
at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:810) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:324) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1185) 
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1174) 
at com.testing.Application.main(Application.java:11) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) 

и единственный класс в проекте:

@SpringBootApplication 
public class Application { 

    public static void main(String[] args) { 
     System.out.println("Hello, world!"); 
     SpringApplication.run(Application.class, args); 
    } 
} 

Наконец a screenshot of the Libraries IntelliJ is listing

Я использую IntelliJ Ultimate 2016.2 со встроенным maven 3.0.5. Я запустил maven clean, удалил .m2 и получил новое репо, удалил IntelliJ и многое другое. Пожалуйста, не говорите, что это «несогласованность рамки ведения журнала»; Я пробовал почти каждый пост, который упоминает об этом и не везет.

UPDATE: как было предложено, я клонировал проект непосредственно из GitHub и попытался запустить с использованием Spring-Boot: запустить плагин. Все те же исключения. Я нахожусь в полной потере, я понятия не имею, как действовать.

UPDATE: результат МВН зависимость: дерево --debug

constituent[0]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/aether-  api-1.0.2.v20150114.jar 
constituent[1]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/aether- connector-basic-1.0.2.v20150114.jar 
constituent[2]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/aether-impl- 1.0.2.v20150114.jar 
constituent[3]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/aether-spi-1.0.2.v20150114.jar 
constituent[4]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/aether-transport-wagon-1.0.2.v20150114.jar 
constituent[5]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/aether-util-1.0.2.v20150114.jar 
constituent[6]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/aopalliance-1.0.jar 
constituent[7]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/cdi-api-1.0.jar 
constituent[8]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/commons-cli-1.2.jar 
constituent[9]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/commons-io-2.2.jar 
constituent[10]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/commons-lang-2.6.jar 
constituent[11]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/commons-lang3-3.4.jar 
constituent[12]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/guava-18.0.jar 
constituent[13]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/guice-4.0-no_aop.jar 
constituent[14]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/javax.inject-1.jar 
constituent[15]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/jsoup-1.7.2.jar 
constituent[16]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/jsr250-api-1.0.jar 
constituent[17]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/maven-aether-provider-3.3.9.jar 
constituent[18]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/maven-artifact-3.3.9.jar 
constituent[19]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/maven-builder-support-3.3.9.jar 
constituent[20]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/maven-compat-3.3.9.jar 
constituent[21]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/maven-core-3.3.9.jar 
constituent[22]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/maven-embedder-3.3.9.jar 
constituent[23]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/maven-model-3.3.9.jar 
constituent[24]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/maven-model-builder-3.3.9.jar 
constituent[25]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/maven-plugin-api-3.3.9.jar 
constituent[26]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/maven-repository-metadata-3.3.9.jar 
constituent[27]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/maven-settings-3.3.9.jar 
constituent[28]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/maven-settings-builder-3.3.9.jar 
constituent[29]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/org.eclipse.sisu.inject-0.3.2.jar 
constituent[30]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/org.eclipse.sisu.plexus-0.3.2.jar 
constituent[31]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/plexus-cipher-1.7.jar 
constituent[32]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/plexus-component-annotations-1.6.jar 
constituent[33]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/plexus-interpolation-1.21.jar 
constituent[34]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/plexus-sec-dispatcher-1.3.jar 
constituent[35]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/plexus-utils-3.0.22.jar 
constituent[36]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/slf4j-api-1.7.5.jar 
constituent[37]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/slf4j-simple-1.7.5.jar 
constituent[38]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/wagon-file-2.10.jar 
constituent[39]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/wagon-http-2.10-shaded.jar 
constituent[40]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/wagon-http-shared-2.10.jar 
constituent[41]: file:/usr/local/Cellar/maven/3.3.9/libexec/lib/wagon-provider-api-2.10.jar 
constituent[42]: file:/usr/local/Cellar/maven/3.3.9/libexec/conf/logging/ 
+0

Пока оба ответа звучат как проблемы с управлением зависимостями Spring Boot, которые я с трудом верю, основываясь на тестировании, которое делается на нем. Это действительно похоже на проблему IntelliJ IDE в отношении проекта. Я бы не хотел, чтобы вы изменили свой проект, чтобы поддерживать вашу среду IDE. Собираемся установить IntelliJ и посмотреть, что происходит. –

+0

шаги, которые я взял ... 1) Установленные IntelliJ Непревзойденная 2016.2.1 2) На экране запуска проекта решили клонировать по началу работы репо 3) Создан проект, основанный на '/ каталога complete' из репо 4) Создал maven run profile с 'spring-boot: run' 5) Ran project и он успешно сработал. Я проверил зависимости проекта по сравнению с вашими, и у меня было еще несколько. Я предполагаю, что вы прошли и вручную создали свой проект со страницы? Попробуйте использовать «полный» проект, чтобы начать проверять, что он работает. Затем нужно вернуться и посмотреть, чем вы занимаетесь, чем полностью. –

+0

Как запустить приложение? Запускаете ли вы его как приложение Java, приложение загрузки Spring или используете Maven?Я использую ту же версию IntelliJ, используя тот же код, имея тот же список библиотек, и я могу отлично запускать приложение. – g00glen00b

ответ

-3

Я думаю, вы должны явно конфиг последнюю апачский общую регистрацию в вашем pom.xml, потому что это реализация по умолчанию SLF4J используется Spring. enter image description here

+0

Это очень проницательное предложение, лучшее, что я получил. Можете ли вы явно указать, что мне нужно добавить в мой pom.xml? – Aar0nC

+0

Поскольку вы добавили логин в свой pom, просто исключите общий журнал и используйте logback как реализацию slf4j. – MageXellos

+0

обращаться по адресу: http://www.codingpedia.org/ama/how-to-log-in-spring-with-slf4j-and-logback/ – MageXellos

-2

Добавить следующие зависимости в файле pom.xml

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-log4j2</artifactId> 
</dependency> 

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter</artifactId> 
     <exclusions> 
      <exclusion> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-starter-logging</artifactId> 
      </exclusion> 
     </exclusions> 
</dependency> 
0

Вау, наконец, понял это. Так облегчено. Благодаря @Andy Wilkinson, я добавил -verbose: class как вариант VM в IntelliJ. Я обнаружил, что у меня были некоторые файлы jar, которые вытащили за пределы моего репозитория maven. В частности, Xuggler тянул всевозможные каротажные и slf4j банки, которые противоречили движению maven в 1.7.21. Надеюсь, это поможет кому-то еще!

Смежные вопросы