본문 바로가기

Web

[ spring ] 폐쇄망 gradle 세팅 끝장내기(gradle 이슈 해결)

반응형

| 배경

인터넷이 될 때는 gradle 프로젝트를 실행하는 데에 문제가 없었다.
그러나, 폐쇄망일 경우에는 아래와 같은 이슈가 발생했다.
1. gradle 실행이슈
2. gradle import 무한로딩 이슈

 


gradle 실행이슈 해결

최초 프로젝트 실행 시, 아래와 같은 에러가 발생했다.

Unknown host 'services.gradle.org'. You may need to adjust the proxy settings in Gradle.
Learn about configuring HTTP proxies in Gradle.



이는 gradle-wrapper.properties 에서 distributionUrl 접근을 못 해서 발생한 것이다.
이를 해결하기 위해서는 아래 링크에서 zip 파일을 다운로드 받아서 
프로젝트 내부 디렉토리에 넣어주어야 한다.

링크: https://gradle.org/releases/
경로: 프로젝트/gradle/wrapper/gradle-5.6.4-bin.zip

그리고 gradle-wrapper.properties의 distributionUrl을 아래처럼 변경해준다.

distributionUrl=gradle-5.6.4-bin.zip

그럼 해당 이슈는 해결된다.

 

반응형

 

gradle import 무한로딩 이슈 해결

gradle 테스트를 진행할 때 2가지 환경에서 테스트를 진행했다.

1) 노트북 와이파이 연결 끊은 상태

2) 폐쇄망 환경의 컴퓨터(이더넷 연결은 되어있음. 내부망 사용가능)

/* build.gradle */
mavenLocal()
maven {
  url = 'https://repo1.maven.org/maven2/'
}

maven {
  url = 'http://10.1.3.195:8082/repository/releases/'
}
 	:
 	:
 	:

 

 

| 노트북 와이파이 연결 끊은 상태

노트북에서 프로젝트를 실행했을 때는 무한로딩이 걸리지 않았다.

대신 아래와 같은 에러가 발생했고, 구체적인 내용은 둘 다 아래와 같다.

- JEE project import errors

- Project resolve errors

 

ex)

Caused by: org.gradle.internal.resolve.ArtifactResolveException: Could not download commons-fileupload.jar (commons-fileupload:commons-fileupload:1.4)
Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.4/commons-fileupload-1.4.jar'.
Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET 'https://repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.4/commons-fileupload-1.4.jar'.
Caused by: java.net.UnknownHostException: repo1.maven.org</i>

 

 .m2에 없는 jar를 외부에서 가져와서 해결했다.

 

| 폐쇄망 환경(내부망 사용가능)

반면 폐쇄망은 이더넷 연결이 되어있는 상태라서 그런지, url 접근 시도를 하지만 통신이 막혀서 실패결과를 받지 못하고 로딩이 걸린 게 아닌가싶다. 사실상 위의 노트북 환경에서와의 에러는 같을 것이다.

그래서 위의 maven url 관련 소스를 모두 지우고 .m2에 없는 jar는 외부에서 가져와서 넣었더니 해결했다.

이 이유도 찾는데 얼마나 시간이 걸렸는지.. ㅂㄷㅂㄷ
만약 gradle이 필요로 하는 jar 파일이 .m2에 정상적으로 있다면 이 또한 문제가 되진 않았을 것이다.

 

| 마치면서

해당 환경으로 모두 세팅해서 github에 올린 후, 다른 컴퓨터 프로젝트를 내려받아 확인까지 마쳤다.
폐쇄망 환경에서 maven에서 gradle로 마이그레이션 하다보니 만난 이슈들..
덕분에 build.gradle 파일 구성, 동작 원리 등 gradle 에 대해서 더 자세히 알 수 있는 계기가 되었다.

 

 

반응형

'Web' 카테고리의 다른 글

[ spring ] maven gradle 변환(마이그레이션)  (0) 2025.03.25
XSS (Cross Site Script) 공격 방어  (0) 2021.02.05