2013-04-12 6 views
6

Я получаю эту ошибку при запуске моего приложения:NoSuchMethodError: org.slf4j.helpers.MessageFormatter.format

[ERROR] Apr 12, 2013 10:18:56 AM com.google.appengine.tools.development.ApiProxyLocalImpl log 
[ERROR] INFO: javax.servlet.ServletContext log: Initializing Shiro environment 
[ERROR] 1601 [main] INFO org.apache.shiro.web.env.EnvironmentLoader - Starting Shiro environment initialization. 
[ERROR] 1931 [main] INFO org.apache.shiro.config.IniSecurityManagerFactory - Realms have been explicitly set on the SecurityManager instance - auto-setting of realms will not occur. 
[ERROR] 1984 [main] ERROR org.apache.shiro.web.env.EnvironmentLoader - Shiro environment initialization failed 
[ERROR] java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.format(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String; 
[ERROR]  at org.slf4j.impl.SimpleLogger.formatAndLog(SimpleLogger.java:222) 
[ERROR]  at org.slf4j.impl.SimpleLogger.info(SimpleLogger.java:258) 
[ERROR]  at org.apache.shiro.web.env.EnvironmentLoader.initEnvironment(EnvironmentLoader.java:146) 
[ERROR]  at org.apache.shiro.web.env.EnvironmentLoaderListener.contextInitialized(EnvironmentLoaderListener.java:58) 
[ERROR]  at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) 
[ERROR]  at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) 
[ERROR]  at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 
[ERROR]  at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 
[ERROR]  at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 
[ERROR]  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
[ERROR]  at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
[ERROR]  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
[ERROR]  at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
[ERROR]  at org.mortbay.jetty.Server.doStart(Server.java:224) 
[ERROR]  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
[ERROR]  at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:228) 
[ERROR]  at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:255) 
[ERROR]  at com.google.appengine.tools.development.AbstractServer.startup(AbstractServer.java:79) 
[ERROR]  at com.google.appengine.tools.development.DevAppServerImpl$Servers.startup(DevAppServerImpl.java:451) 
[ERROR]  at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:198) 
[ERROR]  at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:97) 
[ERROR]  at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509) 
[ERROR]  at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068) 
[ERROR]  at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811) 
[ERROR]  at com.google.gwt.dev.DevMode.main(DevMode.java:311) 
[ERROR] Apr 12, 2013 10:18:56 AM com.google.apphosting.utils.jetty.JettyLogger warn 

Это часть моей конфигурации pom.xml, который я думаю, что к этому относится:

<properties> 
     <!-- other properties omitted --> 
     <slf4jVersion>1.5.11</slf4jVersion> 
</properties> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>${slf4jVersion}</version> 
    </dependency> 
    <dependency> 
     <!-- any library that uses commons-logging will be directed to slf4j --> 
     <groupId>org.slf4j</groupId> 
     <artifactId>jcl-over-slf4j</artifactId> 
     <version>${slf4jVersion}</version> 
     </dependency> 
    <dependency> 
     <!-- any library that uses slf4j will be directed to java.util.logging --> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-jdk14</artifactId> 
     <version>${slf4jVersion}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-simple</artifactId> 
      <version>${slf4jVersion}</version> 
      <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>${slf4jVersion}</version> 
    </dependency> 

Я уверен, что у меня есть версия SLF4j, вся установка в одну версию. Что может быть неправильным в моей конфигурации?

+3

Попробуйте использовать более новую версию slf4j, например. 1.7.5 –

+0

Просто посмотрел на нее, и я думаю, что это было введено в 1.7.5, так что это должно сделать трюк. –

+0

@PeterKnego Спасибо, что сделал трюк – xybrek

ответ

9

Используйте более новую версию slf4j, например. 1.7.5.

+0

Спасибо! Это было очень полезно. – ChaitanyaBhatt

2

для кого-то еще, что в настоящее время преследовавшие этих ошибок я бы также проверить, если вы используете: весна-LDAP-тест

я неосторожно было это включено в моем времени выполнения и зависит от ApacheDS-все-1.5. 5.jar, который имеет собственную реализацию некоторых классов slf4j. Я потратил много времени, пытаясь обойти это, прежде чем добавить -verbose: class в свою команду java и увидел, что эти классы загружаются из этой банки.

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