IDE ਤੋਂ ਚਲਾਇਆ Gradle build ਟਰਮੀਨਲ ਤੋਂ ਚਲਾਏ ਉਸੇ project ਨਾਲੋਂ ਵੱਖਰੀ configuration ਵਰਤ ਸਕਦਾ ਹੈ। ਪੁਰਾਣੀ proxy process ਨੂੰ ਦੋਸ਼ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਹਰ launch ਦੇ Gradle user home, JVM ਅਤੇ proxy properties ਦੀ ਤੁਲਨਾ ਕਰੋ।

Gradle JVM proxy properties ਨੂੰ ਦਸਤਾਵੇਜ਼ ਕਰਦਾ ਹੈ

HTTP ਅਤੇ HTTPS ਰੂਟਾਂ ਲਈ properties file ਵਿੱਚ ਇਹ ਹੋ ਸਕਦਾ ਹੈ:

systemProp.http.proxyHost=203.0.113.10
systemProp.http.proxyPort=8080
systemProp.https.proxyHost=203.0.113.10
systemProp.https.proxyPort=8080
systemProp.http.nonProxyHosts=localhost|*.example.internal

ਤੁਹਾਨੂੰ ਦਿੱਤਾ endpoint ਵਰਤੋ; ਮਨਜ਼ੂਰਸ਼ੁਦਾ public-repository routes ਲਈ HTTP proxy list ਸੰਭਾਵੀ host ਅਤੇ port ਜੋੜੇ ਦਿੰਦੀ ਹੈ। HTTPS bypass property ਵੀ http.nonProxyHosts ਹੈ; https.nonProxyHosts ਘੜਨਾ ਦਸਤਾਵੇਜ਼ੀ ਹੱਲ ਨਹੀਂ। Host properties ਵਿੱਚ ਪੂਰਾ proxy URL ਨਹੀਂ, address ਹੁੰਦਾ ਹੈ।

Shell ਵਿੱਚ HTTP_PROXY export ਕਰਨਾ ਇਕੱਲਾ ਇਹ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ ਕਿ ਇਹ JVM client ਇਸ ਨੂੰ proxy policy ਵਜੋਂ ਵਰਤਦਾ ਹੈ। Application ਵੱਲੋਂ support ਕੀਤੀਆਂ properties ਜਾਂਚੋ।

Daemon ਨੂੰ build ਜਾਣਕਾਰੀ ਮਿਲਦੀ ਹੈ

ਮੌਜੂਦਾ Gradle documentation ਕਹਿੰਦੀ ਹੈ ਕਿ client environment variables ਸਮੇਤ build information daemon ਨੂੰ ਭੇਜਦਾ ਹੈ। ਇਸ ਲਈ “daemon ਨੂੰ ਨਵੇਂ environment variables ਕਦੇ ਨਹੀਂ ਮਿਲਦੇ” ਵਾਲੀ ਆਮ ਵਿਆਖਿਆ ਗਲਤ ਹੈ।

ਕੁਝ JVM startup properties, trust-store properties ਸਮੇਤ, ਚੱਲਦੇ JVM ਲਈ ਅਟੱਲ ਹੁੰਦੀਆਂ ਹਨ। ਇਸ ਕਰਕੇ ਆਮ build environment values ਭੇਜੇ ਜਾਣ ਦੇ ਬਾਵਜੂਦ ਬਦਲਿਆ Java home ਜਾਂ trust-store startup configuration ਮਹੱਤਵ ਰੱਖ ਸਕਦਾ ਹੈ।

ਦੋਵੇਂ launches ਦੀ ਤੁਲਨਾ ਕਰੋ

IDE ਕਿਹੜਾ Gradle distribution ਅਤੇ Java runtime ਚੁਣਦਾ ਹੈ, ਜਾਂਚੋ। ਵੇਖੋ ਕਿ ਇਹ terminal ਵਾਲਾ ਹੀ GRADLE_USER_HOME ਅਤੇ user properties ਵਰਤਦਾ ਹੈ ਜਾਂ ਨਹੀਂ। ਇੱਕ user ਦੀ configuration ਵਿੱਚ proxy entry ਤੋਂ ਇਹ ਪਤਾ ਨਹੀਂ ਲੱਗਦਾ ਕਿ ਦੂਜੇ context ਨੇ ਕੀ load ਕੀਤਾ।

ਜੇ ਬਦਲੀ startup requirement ਨੂੰ ਵੱਖਰਾ daemon ਚਾਹੀਦਾ ਹੈ ਤਾਂ ਸੰਬੰਧਿਤ Gradle version ਦੇ documented daemon controls ਵਰਤੋ। Daemon ਰੋਕਣ ਨੂੰ ਗਲਤ property ਜਾਂ missing configuration file ਲੱਭਣ ਦਾ ਬਦਲ ਨਾ ਬਣਾਓ।

ਅੰਤ ਵਿੱਚ failed request ਪਛਾਣੋ। Wrapper downloads, build dependency resolution ਅਤੇ forked application ਜਾਂ test processes ਦੀਆਂ requests ਆਪਣੇ ਆਪ ਇੱਕੋ network context ਨਹੀਂ ਹੁੰਦੀਆਂ। Gradle property ਤੋਂ control ਦੀ ਉਮੀਦ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ request ਕਰਨ ਵਾਲੀ process ਦੀ ਜਾਂਚ ਕਰੋ।

ਸੰਬੰਧਿਤ ਲੇਖ