본문 바로가기
자바,스프링 - Java,Spring Framework

mvn 빌드시 에러 해결방법 : [ERROR] Failed to execute goal on project xxx: Could not resolve dependencies for project xxx: Could not find artifact com.xxx:yyy:jar:0.0.1 in xxx

by devscb 2023. 4. 20.
반응형

mvn 빌드시 에러 해결방법 : [ERROR] Failed to execute goal on project xxx: Could not resolve dependencies for project xxx: Could not find artifact com.xxx:yyy:jar:0.0.1 in xxx



아래 명령어를 사용하여 maven build를 하였으나 에러가 발생하여 해결한 사례를 공유드리고자 합니다.


mvn clean package




에러 메시지


Could not find artifact라는 에러로, 아래와 같은 에러가 발생했었습니다.

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.539 s
[INFO] Finished at: 2023-04-18T19:34:08+09:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project [프로젝트명]: Could not resolve dependencies for project com.xxx.xyz:[artifact]:war:1.0.0: Could not find artifact com.xxx.xyz:[library]:jar:0.0.1 in [repository명] (http://nexus.com/repository/public-repositories/(nexus주소)) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

dependency 를 다운로드 받으려고 하나 실패하였다는 에러메시지입니다.
제가 일하고 있는 곳에서는 외부 maven repo접근을 못하고, 내부의 nexus repo로 라이브러리들을 다운받도록 개발환경이 구성되어 있는데요,
무언가의 이유로 library를 다운받지 못하는 경우가 자주 있습니다.
오프라인 모드일때도 유용하니, 아래와 같이 해결하면 됩니다.

해결방법


1) jar파일을 수동으로 받습니다.
maven repository에 있는 library라면 아래 주소로 이동하여 라이브러리 이름을 검색합니다.
예를 들어, log4j를 다운받는다고 하면, https://mvnrepository.com/search로 접속하여 검색창에 log4j를 찾아 링크로 이동합니다.


혹은 아래와 같이 maven repository [라이브러리명] 이라고 구글에 검색하여 maven repository 링크로 이동합니다.




링크로 이동을 한 후, 버전을 클릭하고 Files에 있는 jar 파일을 다운받으면 수동으로 라이브러리를 받을 수 있습니다.

 

 


2) 빌드하려는 환경에 적절한 maven local repo 위치로 이동합니다.
maven local repo의 위치는 기본적으로 c:\users\[사용자명]\.m2입니다.

여기서, 각 라이브러리의 group id, artifact id, version 폴더로 이동하여 1에서 다운받은 jar파일을 넣어줍니다.
예를 들어 log4j는 아래 위치에 jar파일을 넣어줍니다.
C:\Users\[사용자명]\.m2\repository\log4j\log4j\1.2.12

(maven local repository 입니다)



.(마침표) 별로 폴더 깊이가 생기며,
만일 org.springframework.spring-beans 1.2 버전이라는 라이브러리를 넣어주고 싶다면
C:\Users\[사용자명]\.m2\repository\org\springframework\spring-beans\1.2.12 라는 폴더에 jar파일을 넣어주면 됩니다.


만일 local repository의 경로를 변경하거나 어딘지 모르겠다면,
[maven설치경로]/conf/settings.xml에 아래위치를 참조하시면 됩니다.
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>



3) 이제 실행을 해보면
mvn을 다시 실행해보면 아래와 같이 BUILD SUCCESS하면서 정상적으로 실행됨을 확인할 수 있습니다.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  12.046 s
[INFO] Finished at: 2023-04-18T19:35:50+09:00
[INFO] ------------------------------------------------------------------------


Failed to execute goal on project [프로젝트명]: Could not resolve dependencies for project com.xxx.xyz:[artifact]:war:1.0.0: Could not find artifact com.xxx.xyz:[library]:jar:0.0.1 in [repository명] (http://nexus.com/repository/public-repositories/(nexus주소)) -> [Help 1]

#maven,#java,#dependency,#artifact,#repository,#메이븐,#매이븐,#자바,#디펜던시,#아티팩트

 

https://devscb.com/post/169

 

How to resolve errors when building mvn: [ERROR] Failed to execute goal on project xxx: Could not resolve dependencies for proje

I would like to share a case in which I solved a maven build using the command below, but an error occurred. 1mvn clean package Error messageThe following error occurred due to the error ‘Could no

devscb.com

 

728x90
반응형

댓글