파이문

gradle proxy 설정 본문

TIL

gradle proxy 설정

민Z 2021. 2. 17. 22:01

gradle 빌드 시에 다음 에러 등장

Exception in thread "main" java.net.ConnectException: Connection refused (Connection refused)...

사용하고 있는 컨테이너 (또는 서버) 에서 gradle-bin-xxx 을 다운로드 받지 못하는 상황이었음 (Connection refused)

그런데 로컬 환경에서 다운로드 시에는 잘 됨 gradle 빌드 시에만 안되는 것이였음

 

이럴 경우 proxy 설정을 의심해 볼 수 있다. (서버에서 외부 리소스 다운로드를 막아두었던지 하는 등의 이슈)

 

2가지 방법이 있는데 gradle.properties 를 수정하는 방법 또는 gradlew 에서 JVM Option 을 수정하는 방법이 있다. 두개가 서로 같은 거고 그냥 처음부터 세팅하던가, 실행 시에 인자로 넘기던가의 차이만 있을 뿐

proxy 설정

gradle.properties 수정

project_dir/gradle/wrapper/gradle.properties 에 아래 내용 추가 

systemProp.http.proxyHost=proxy_address
systemProp.http.proxyPort=proxy_port
systemProp.https.proxyHost=proxy_address
systemProp.https.proxyPort=proxy_port

gradlew 수정

project_dir/gradlew 에서 DEFAULT_JVM_OPTS 값을 수정

DEFAULT_JVM_OPTS="-Dhttp.proxyHost=proxy_address -Dhttp.proxyPort=proxy_port -Dhttps.proxyHost=proxy_address -Dhttps.proxyPort=proxy_port"

no proxy 설정

근데 이번엔 403 forbidden 에러가 떴다면?! 그러면 에러 로그 보고 가져오지 못하는 라이브러리의 host name 을 no proxy 옵션에 추가해주자.

 

gradle.properties 에는 아래 처럼 추가할 수 있고 (각 값들 사이는 파이프를 사용)

systemProp.http.nonProxyHosts=localhost|....생략|...

gradlew 의 경우엔 아래처럼 옵션을 추가해 준다. (각 값들 사이는 쉼표를 사용)

-Dhttp.nonProxyHosts=localhost,...생략

기타

아니면 서버 환경 변수 proxy 값을 세팅해도 될 것 같다.

참고

stackoverflow.com/a/37079513/4547125

Comments