반응형

SampleController 클래스를 생성 후

log4j 어노테이션을 적용하려는데 자꾸 빨갛게 다음과 같은 에러가 나왔다.

 

org.apache.log4j cannot be resolved to a type

org.apache.log4j.Logger cannot be resolved to a type

 

실제 에러 모습

알아보니 이유는 이렇다. Spring Legacy Project로 생성한 프로젝트는 기본적으로 Log4j가 추가되어 있으므로 그 설정과 중복되는 느낌(?)의 이유에서였다.

 

그렇다면 해결책은 두가지인데, 

1. 기본적으로 설정된 Log4j 그대로 사용, @Log4j 어노테이션 지우기.

2. @Log4j 어노테이션을 쓰자!

 

2번의 경우 pom.xml의 Log4j 부분에서

<dependency>
	<groupId>log4j</groupId>
	<artifactId>log4j</artifactId>
	<version>1.2.15</version>
	<exclusions>
		<exclusion>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
		</exclusion>
		<exclusion>
			<groupId>javax.jms</groupId>
			<artifactId>jms</artifactId>
		</exclusion>
		<exclusion>
			<groupId>com.sun.jdmk</groupId>
			<artifactId>jmxtools</artifactId>
		</exclusion>
		<exclusion>
			<groupId>com.sun.jmx</groupId>
			<artifactId>jmxri</artifactId>
		</exclusion>
	</exclusions>
	<scope>runtime</scope> 
</dependency>

맨 아래에

<scope>runtime</scope> 을 주석처리 해주면 해결된다.

주석처리 한 모습
에러가 사라진 화면

반응형
반응형

스프링을 책보며 복습 중이었는데 jdbc를 연결하는 부분에서 특정한 에러메세지는 뜨지 않았는데 계속 연결에 실패했다.

아무리 봐도 db 정보는 제대로 잘 입력했다. 

 

자세히 보니 failure : 1 이 적혀있고, '로케일을 인식할 수 없습니다.' 라는 문구가 적혀있었다.

 

찾아보니 맥북 업데이트 시에 잘 일어나는 에러 메세지인 것 같더라.

이유는 아직 잘 모른다.....

 

해결법!

 

시스템 환경설정 에서 언어 및 지역 -> 지역 을 미국으로 바꾸어주었다가 다시 대한민국으로 설정해주면 된다.

 

그 후에 다시 jdbc test를 수행해보면 잘 연결된 것을 볼 수 있다.

 

반응형

+ Recent posts