반응형

pom.xml webapp.lib 인식 안될 때 해결하는 방법은 [프로젝트오른쪽 클리] - [Maven] - [Update Project]를 할 때, Offline으로 업데이트를 하면 된다. 항상 느끼지만 메이븐 라이브러리 에러가 제일 짜증난다.

 

프로젝트를 새로 받고 Maven Update를 할 때 제일 짜증난다. 다른 오류는 상대적으로 쉽게 발견해서 해결할 수 있지만, Maven 라이브러리 / Maven Dependency 오류는 정말 해결하기도 귀찮고 발견하기도 너무 귀찮다.

 

해결방법

일단, Maven 관련 오류는 프로젝트의 pom.xml에서 pom.xml 아래의 Dependencies를 확인해야 한다.

아래의 사진처럼 저 Dependencies를 눌러서 빨간 글씨가 있는지 확인한다.

 

빨간 글씨가 있으면, 아래에서 Problems를 확인한다. 저 Type이 Maven dependency 에러면 pom.xml 코드를 본다.

 

pom.xml 코드에서 딱히 에러가 보이진 않지만, 아래의 코드를 보면 systemPath를 걸어준 dependency에 문제가 발생했다.

<dependencies>
	...
    <dependency>
		<groupId>log4jdbc</groupId>
		<artifactId>log4j2-jdbc4</artifactId>
		<version>1.16</version>
		<scope>system</scope>
		<systemPath>${webapp.lib}/log4jdbc-log4j2-jdbc4-1.16.jar</systemPath>
	</dependency>
</dependencies>

 

위의 코드와 같이, log4j2-jdbc4에 systemPath를 ${webapp.lib}/log4jdbc-log4j2-jdbc4-1.16.jar로 잡아줬다.

저 systemPath는 만약에 인터넷이 안되는 오프라인 환경인 경우에 직접 라이브러리를 저장하여 Maven 라이브러리를 끌어올 수 있게 할 때 사용하는 경로 설정이다.

 

그래서, 저 webapp.lib는 pom.xml에서 properties에서 설정한다.

<properties>
	<webapp.lib>${basedir}/WebContent/WEB-INF/lib</webapp.lib>
</properties>

 

위의 코드처럼 webapp.lib를 설정하여 이 경로를 가져다 쓴다.

[프로젝트오른쪽 클리] - [Maven] - [Update Project]를 해도 Maven dependency 에러가 안잡혔다. 그래서, 혹시나 해서 Update Project를 할 때, 아래의 사진처럼 Offline을 체크했더니 Maven repository 경로를 타지 않고 저 systemPath로 설정한 ${webapp.lib}/log4jdbc-log4j2-jdbc4-1.16.jar 이 경로를 타서 해결됐다.

 

 

Maven Update를 할 때, Offline을 체크하지 않으면 저 systemPath를 바라보지 않는다. 

그래서, Offline으로 체크하고 Update를 한 다음에, [프로젝트 오른쪽 클릭] - [Properties]  - [Java Build Path] - [Libraries]에 보면, Maven Dependencies에 각 라이브러리들이 systemPath에서 설정한 경로에 라이브러리를 가져오는 것을 확인할 수 있다.

 

 

즉, pom.xml webapp.lib 인식 안될 때 해결하는 방법은 Offline으로 Maven Update를 하면 된다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기