- Regarding Eclipse IDE (Indigo, Juno and Kepler (32 and 64 bit versions))
- Platforms: Windows, Ubuntu, Mac
- m2e version: 1.1.0.20120530-0009, 1.2.0.20120903-1050, 1.3.0.20130129-0926,
1.4.0.20130601-0317
General info
The above error came after updating the m2e to version 1.1. By removing m2e 1.1 and rolling back to m2e 1.0 everything worked fine. I tried to repeat the problem in Windows and Ubuntu and it gave me the exact same error. Numerous configurations of the slf4j-api and logback were tested but none seem to work.
The error appears in any maven project even without declaring slf4j dependency.
New Maven Project--> maven-archetype-quickstart
and
New Maven Project--> Simple project without archetype selection
result to
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
Testing enviroments and configurations
Tested with Eclipse Indigo and Eclipse Juno (32 and 64 bit both) on Mac, 32 bit on Ubuntu and 64 and 32 bit on Windows. Tested fresh installs of Juno Classic, Juno Modelling tools, Kepler Standard, Kepler Modelling Tools and produced the same error.
The error appears with clean, install, test, deploy, generate-sources, validate , compile , package, integration-test, verify and combinations of the goal clean with the rest goals. It appears also with parameters -e and -X. There was an attempt to delete the m2e repository and download it from scratch but again without success. It should me mentioned that it was tested in 3 different machines and virtual box all the above systems but it produced the same error.
Tried all different logback configurations (from 1.0.4 to 1.0.13) that resolve the slf4j-api and logback-core dependencies, but all produce the same error:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version></version>
</dependency>
Tried all different (from 1.6.1 to 1.7.5 ) slf4j-simple configurations.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Tried all different (from 1.6.1 to 1.7.5 ) log4j-over-slf4j configurations.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Tried all different (from 1.6.1 to 1.7.5 ) slf4j-jdk14 configurations.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Tried all different (from 1.6.1 to 1.7.5 ) slf4j-log4j12 configurations.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Tried slf4j-nop 1.7.5 configuration.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.7.5</version>
<scope>compile</scope>
</dependency>
Last but not least the logs are saved and printed despite the error.
Ways to reproduce the error
Download Eclipse Juno, Indigo or Kepler 32 or 64 bit (All installations will cause the same error).
Install m2e - Maven Integration for Eclipse
- Juno - http://download.eclipse.org/releases/juno
- Kepler - http://download.eclipse.org/releases/kepler
- Indigo - http://download.eclipse.org/technology/m2e/releases/ (currently unavailable)
OR
Update your m2e version to 1.1.0.20120530-0009, or 1.2.0.20120903-1050, or 1.3.0.20130129-0926, or 1.4.0.20130601-0317 )
Select File->New->Other->Maven Project->Click Next->Select
maven-archetype-quickstart from the catalog->FinishOR
Select File->New->Other->Maven Project->Click Next->Select Create a simple project (skip archetype selection)-> Complete Artifact info-> Finish
- Right Click on the project->Runs As->clean install (or any other goal mentioned above)
The first line on the console will be
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
P.S. Existing projects will produce the same error after updating the m2e version to 1.1.0.20120530-0009, 1.2.0.20120903-1050, 1.3.0.20130129-0926, 1.4.0.20130601-0317
Updates
EDIT
m2e support site:
The above question was posted as a bug in m2e support site and the answer from Igor Fedorenko was that
There are no immediate plans to suppress this message.
For viewing the above bug please refer to m2e official support site
EDIT 2
- The above error indication is present also to m2e version 1.2.0.20120903-1050
EDIT 3
- The above error indication is present also to m2e version 1.3.0.20130129-0926
EDIT 4
- The above error indication is present also to m2e version 1.4.0.20130601-0317
EDIT 5
***Reported FIXED***
- The above error is reported as fixed for m2e version 1.5.0/Luna M3(Target Milestone). The version is not yet available for download.
- Luna M3 is scheduled for Nov. 15th.
- Latest dev build are available here
- More information about the m2e milestones you can find at the m2e main repository.
Had been over looking the issue having surfaced it. Believe this will be a good read for others who come down here with the same issue:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=387064
Paste this code to your pom.xml file. It works for me.
This is not an error message but a warning. It is very clearly explained in their website as :
This warning, i.e. not an error, message is reported when no SLF4J providers could be found on the class path. Placing one (and only one) of slf4j-nop.jar slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem. Note that these providers must target slf4j-api 1.8 or later.
In the absence of a provider, SLF4J will default to a no-operation (NOP) logger provider.
https://www.slf4j.org/codes.html#StaticLoggerBinder