- Eclipse IDE 관련 ( Indigo , Juno 및 Kepler (32 및 64 비트 버전))
- 플랫폼 : Windows , Ubuntu , Mac
- m2e 버전 : 1.1.0.20120530-0009 , 1.2.0.20120903-1050 , 1.3.0.20130129-0926 ,
1.4.0.20130601-0317
일반 정보
위의 오류는 m2e를 버전 1.1로 업데이트 한 후 발생했습니다. m2e 1.1을 제거하고 m2e 1.0으로 롤백하면 모든 것이 잘 작동했습니다. Windows와 Ubuntu에서 문제를 반복하려고 시도했지만 똑같은 오류가 발생했습니다. slf4j-api 및 logback의 수많은 구성이 테스트되었지만 작동하지 않는 것 같습니다.
오류는 slf4j 종속성을 선언하지 않고도 모든 maven 프로젝트에 나타납니다 .
-
새로운 Maven 프로젝트-> maven-archetype-quickstart
과
-
New Maven Project-> 아키 타입 선택이없는 간단한 프로젝트
결과
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
환경 및 구성 테스트
Mac에서 Eclipse Indigo 및 Eclipse Juno (32 비트 및 64 비트 모두), Ubuntu에서 32 비트, Windows에서 64 비트 및 32 비트로 테스트되었습니다. Juno Classic , Juno 모델링 도구 , Kepler Standard , Kepler 모델링 도구 의 새로 설치를 테스트 했으며 동일한 오류가 발생했습니다.
이 오류는 clean , install , test , deploy , generate-sources , validate , compile , package , integration-test , verify 및 goal clean과 나머지 목표의 조합으로 나타납니다. 매개 변수 -e 및 -X 와 함께 나타납니다 . m2e 저장소를 삭제하고 처음부터 다운로드하려고 시도했지만 성공하지 못했습니다. 위의 모든 시스템에서 3 개의 다른 컴퓨터와 가상 상자에서 테스트되었지만 동일한 오류가 발생했다고 언급해야합니다.
모든 다른 로그 백을 시도했습니다. 그 해결 (1.0.4에서 1.0.13로) 구성 SLF4J-API 와 logback 코어 의존하지만, 모든 생산 같은 오류 :
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version></version>
</dependency>
모든 다른 (1.6.1에서 1.7.5) slf4j-simple 구성 을 시도했습니다 .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
모두 다른 시도 (1.6.1에서 1.7.5) log4j-over-slf4j 구성을 시도했습니다 .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
모두 다른 시도 (1.6.1에서 1.7.5) slf4j-jdk14 구성 .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
모두 다른 시도 (1.6.1에서 1.7.5) slf4j-log4j12 구성 .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
시도 slf4j-nop 1.7.5 구성을 했습니다 .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.7.5</version>
<scope>compile</scope>
</dependency>
마지막으로 오류에도 불구하고 로그가 저장되고 인쇄됩니다.
오류를 재현하는 방법
-
Eclipse Juno, Indigo 또는 Kepler 32 또는 64 비트를 다운로드하십시오 (모든 설치에서 동일한 오류가 발생 함).
-
m2e 설치-Eclipse 용 Maven 통합
- Juno- //download.eclipse.org/releases/juno
- 케플러- //download.eclipse.org/releases/kepler
- Indigo-http: //download.eclipse.org/technology/m2e/releases/ ( 현재 사용할 수 없음 )
또는
-
m2e 버전을 1.1.0.20120530-0009 또는 1.2.0.20120903-1050 또는 1.3.0.20130129-0926 또는 1.4.0.20130601-0317로 업데이트 )
-
파일-> 새로 만들기-> 기타-> Maven 프로젝트-> 다음 클릭-> 카탈로그에서
maven-archetype-quickstart 선택 -> 마침을 선택합니다.또는
-
파일-> 새로 만들기-> 기타-> Maven 프로젝트-> 다음 클릭-> 간단한 프로젝트 만들기 (아키 타입 선택 건너 뛰기)-> 완성 아티팩트 정보-> 마침을 선택합니다.
-
- 프로젝트-> 다음으로 실행-> 새로 설치 (또는 위에서 언급 한 다른 목표)를 마우스 오른쪽 단추로 클릭하십시오.
콘솔의 첫 번째 줄은
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.
PS 기존 프로젝트에서 m2e 버전을 1.1.0.20120530-0009 , 1.2.0.20120903-1050 , 1.3.0.20130129-0926 , 1.4.0.20130601-0317로 업데이트 한 후 동일한 오류가 발생합니다.
업데이트
편집하다
m2e 지원 사이트 :
-
위의 질문은 m2e 지원 사이트에 버그로 게시되었으며 Igor Fedorenko의 답변은
이 메시지를 억제 할 즉각적인 계획은 없습니다.
위의 버그를 보려면 m2e 공식 지원 사이트 를 참조하십시오.
2 편집
- 상기 에러 표시는 현재 에도 m2e의 버전 1.2.0.20120903-1050
3 편집
- 상기 에러 표시는 현재 에도 m2e의 버전 1.3.0.20130129-0926
4 편집
- 상기 에러 표시는 현재 에도 m2e의 버전 1.4.0.20130601-0317
5 편집
***Reported FIXED***
- 위 오류는 m2e 버전 1.5.0 / Luna M3 ( Target Milestone )에서 수정 된 것으로보고됩니다 . 이 버전은 아직 다운로드 할 수 없습니다.
- Luna M3 는 11 월 15 일로 예정되어 있습니다.
- 최신 개발 빌드는 여기에서 사용할 수 있습니다.
- m2e 이정표에 대한 자세한 정보는 m2e 기본 저장소 에서 찾을 수 있습니다 .
답변
이 오류도 확인할 수 있습니다.
해결 방법 : 외부 maven 을 사용하는 것입니다. 내장 된 maven 대신 m2eclipse 내부에서 것입니다.
이는 세 단계로 수행됩니다.
1 로컬 머신에 maven을 설치합니다 (테스트 머신은 Ubuntu 10.10 임).
mvn-버전
Apache Maven 2.2.1 (rdebian-4) Java 버전 : 1.6.0_20 Java 홈 : / usr / lib / jvm / java-6-openjdk / jre 기본 로케일 : de_DE, 플랫폼 인코딩 : UTF-8 OS 이름 : “linux” 버전 : “2.6.35-32-generic”아치 : “amd64″제품군 : “unix”
2 외부 에서 Maven 실행 콘솔에서 Maven 실행 방법 연결
> cd path-to-pom.xml > mvn test
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Simple
[INFO] task-segment: [test]
[INFO] ------------------------------------------------------------------------
[...]
[INFO] Surefire report directory: [...]/workspace/Simple/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running net.tverrbjelke.experiment.MainAppTest
Hello World
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.042 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[...]
(3) 내부의 m2eclipse에 : 전환 매립 받는다는 지역을 받는다는
- 지역 받는다는 가정 설치 디렉토리가 어디 있는지 (알아
mvn --version
, 나에 대한 구글MAVEN_HOME
나를 위해, 이 절 도와 줬어요 입니다/usr/share/maven2
) - 이클립스 메뉴-> 창-> 환경 설정-> 메이븐-> 설치-> 해당 문자열을 입력하십시오. 그런 다음 새로운 외부 전문가로 전환해야합니다.
- 그런 다음 “maven test”와 같이 프로젝트를 실행하십시오.
오류 메시지가 사라져야합니다.
답변
SLf4J 사이트에는이 문제를 해결하기위한 문서가 있습니다. 나는 그것을 따랐고 이미 가지고 있던 slf4j-api-1.6.1.jar와 함께 slf4j-simple-1.6.1.jar을 내 응용 프로그램에 추가했습니다.
답변
Gradle을 사용하는 경우 다음을 추가하십시오.
dependencies {
...
compile "org.slf4j:slf4j-simple:1.7.9"
...
}
답변
Gradle과 동일한 결과로 유사한 오류가 발생했으며 다음과 같이 해결할 수있었습니다.
//compile 'org.slf4j:slf4j-api:1.7.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.1'
주석 처리 된 줄은 오류 출력을 일으킨 줄입니다. 나는 이것을 Maven으로 전송할 수 있다고 믿습니다.
답변
maven 종속성 파일에 버전을 지정하지 않았기 때문에 최신 jar를 선택하지 않을 수 있으며 아티팩트 ID
가있는 또 다른 종속성 이 필요합니다 slf4j-log4j12
.
이것을 pom 파일에 포함하십시오.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.6</version>
</dependency>
오류가 여전히 해결되지 않으면 알려주세요.
또한 이 링크 를 볼 것을 권장합니다.
답변
이 코드를 pom.xml 파일에 붙여 넣습니다. 그것은 나를 위해 작동합니다.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.1</version>
<scope>test</scope>
</dependency>
답변
문제가 드러나는 것을 살펴 보았습니다. 같은 문제로 여기에 오는 다른 사람들에게도이 글이 좋은 읽을 거리가 될 것이라고 믿으십시오.