maven-surefire-plugin 에러

Posted 2020. 7. 2. 18:22

githup에 올라온 프로젝트를 다운받아 빌드하려고 하는데, pom.xml 에서 아래와 같은 오류가 없어지지 않는다.

"Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from https://repo.maven.apache.org/maven2 was cached in the local repository ... 중략 ..."

일반적으로 maven build 오류는 maven clean, maven update, maven install  과정을 통해서 대부분 사라지는데, 이번엔 아니다.

"mvn dependency::tree" 명령어를 command창에서 실행하고 나니 그제서야 오류가 사라졌다.

 

 



maven build를 하는중 오류가 발생했습니다.

 

사용된 plugin 은 maven-jar-plugin, maven-dependency-plugin 입니다.

아무래도 copy-dependency에 사용되는 maven-dependency-plugin에서 오류가 발생하는듯 합니다.

 

오류메시지는 다음과 같습니다.

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:copy-dependencies (copy) on project xxxx-jar-client: Execution copy of goal org.apache.maven.plugins:maven-dependency-plugin:2.8:copy-dependencies failed: Plugin org.apache.maven.plugins:maven-dependency-plugin:2.8 or one of its dependencies could not be resolved: Could not transfer artifact org.apache.maven.wagon:wagon-provider-api:jar:1.0-alpha-6 from/to central (https://repo.maven.apache.org/maven2): Received fatal alert: protocol_version -> [Help 1]

 

plugin 버전도 변경해보고, maven 버전도 업데이트해보았으나 여전히 오류가 발생합니다.

사용하던 eclipse 버전은 mars.2 입니다.

 

분명 이전에 다른 pc에서는 다 되던 build였는데, 이해가 안되서 pc에 설치되어 있던(비교적 최신버전이) sts에서 실행해 보았습니다.

결과는 성공

 

결론은 eclipse버전 및 eclipse plugin문제가 아닌가 싶습니다.

 

때론 최신버전의 eclipse를 사용해야 할 필요가 있어 보입니다.

 



oracle jdbc driver는 기본적으로 maven 저장소를 지원하지 않는다.

때문에 로컬에 저장해 놓은 jdbc driver를 지정해서 가져오거나 maven 이 아닌 eclipse상에서 external jar 를 설정해야 한다.

maven설정은 다음과 같은 순서로 지정한다.


1. 먼저 maven이 설치되어 있어야 한다. (apache maven 다운받아서 압축해제)

 - path 설정여부는 옵션이다.

2. jdbc driver를 임의 디렉토리에 위치시킨다. (d:\dev\ojdbc6.jar)

3. maven install 명령어로 install 한다. path가 잡혀져 있지 않은 경우 {MAVEN_HOME}\bin 으로 이동한다.

\bin> mvn install:install-file -Dfile=d:/dev/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar

4. pom.xml 설정

   <dependency>

            <groupId>com.oracle</groupId>

            <artifactId>ojdbc6</artifactId>

            <version>11.2.0</version>

   </dependency>

5. project > maven update 후 확인한다.