ShrinkWrap ਦੇ Maven Resolver ਵਿੱਚ ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗਾਂ ਲੋਡ ਕਰੋ
ਵੱਖਰੀ Maven ਕਾਲ 'ਤੇ ਨਿਰਭਰ ਕਰਨ ਦੀ ਬਜਾਏ ਟੈਸਟ ਨਿਰਭਰਤਾਵਾਂ ਡਾਊਨਲੋਡ ਕਰਨ ਵਾਲੇ resolver ਵਿੱਚ ਪ੍ਰੌਕਸੀ ਕਨਫਿਗਰੇਸ਼ਨ ਲੋਡ ਕਰੋ।
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.jboss.shrinkwrap.resolver.api.maven.MavenResolverSystem;
MavenResolverSystem resolver = Maven.configureResolver()
.fromFile("/path/to/test-settings.xml");
ਅਗਲੀਆਂ resolve ਕਾਰਵਾਈਆਂ ਲਈ ਇਹ resolver ਵਰਤੋ। ਇਸਨੂੰ ਬਣਾ ਕੇ ਫਿਰ ਦੂਜਾ ਡਿਫਾਲਟ resolver ਕਾਲ ਕਰਨ 'ਤੇ ਸੈਟਿੰਗ ਅਣਵਰਤੀ ਵਸਤੂ 'ਤੇ ਰਹਿ ਜਾਂਦੀ ਹੈ। Maven ਵੱਲੋਂ ਟੈਸਟ ਪ੍ਰਕਿਰਿਆ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਬਾਅਦ ਇੱਕ Arquillian ਟੈਸਟ ਇਹ ਰਿਪੋਜ਼ਟਰੀ ਸੈਸ਼ਨ ਬਣਾ ਸਕਦਾ ਹੈ, ਇਸ ਲਈ ਪਹਿਲਾਂ ਦਾ ਕਮਾਂਡ-ਲਾਈਨ ਡਾਊਨਲੋਡ ਇਸਦੇ ਇਨਪੁੱਟ ਸਥਾਪਤ ਨਹੀਂ ਕਰਦਾ।
ਚੁਣੀ ਗਈ ਫਾਈਲ Maven ਸੈਟਿੰਗਾਂ ਸਿੰਟੈਕਸ ਵਰਤਦੀ ਹੈ। settings ਦੇ ਅੰਦਰ ਘੱਟੋ-ਘੱਟ ਮਾਰਗ ਹੈ:
<proxies>
<proxy>
<id>test-network</id>
<active>true</active>
<protocol>http</protocol>
<host>proxy.example.net</host>
<port>8080</port>
<nonProxyHosts>localhost|*.internal.example.net</nonProxyHosts>
</proxy>
</proxies>
ਮਾਰਗ, ਐਂਡਪਾਇੰਟ ਅਤੇ ਇੱਛਤ ਬਾਈਪਾਸ ਬਦਲੋ। ਹੋਸਟ ਵਿੱਚ URL ਉਪਸਰਗ ਨਹੀਂ ਹੈ। ਜੇ ਇਸ ਟੈਸਟ resolver ਨੂੰ ਗੈਰ-ਪ੍ਰਮਾਣਿਤ ਜਨਤਕ ਵਿਚੋਲੇ ਰਾਹੀਂ ਜਨਤਕ ਰਿਪੋਜ਼ਟਰੀ ਤੱਕ ਪਹੁੰਚਣ ਦੀ ਆਗਿਆ ਹੈ, ਤਾਂ HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਸੰਭਾਵੀ ਹੋਸਟ/ਪੋਰਟ ਮੁੱਲ ਦਿੰਦੀ ਹੈ; ਅਸਲ ਰਿਪੋਜ਼ਟਰੀ ਤੱਕ ਪਹੁੰਚ ਜਾਂਚੋ। ਸਮਰਥਿਤ ਸੈਟਿੰਗਾਂ ਰਾਹੀਂ ਪ੍ਰੌਕਸੀ ਪ੍ਰਮਾਣੀਕਰਨ ਦਿਓ; ਰਿਪੋਜ਼ਟਰੀ/ਸਰਵਰ ਖਾਤੇ ਕਿਸੇ ਹੋਰ ਸੇਵਾ ਦਾ ਪ੍ਰਮਾਣੀਕਰਨ ਕਰਦੇ ਹਨ।
ਸੰਭਾਲਿਆ ਗਿਆ ਅਮਲ ਸੈਟਿੰਗਾਂ ਮਾਡਲ ਤੋਂ ਸਕਿਰਿਆ ਪ੍ਰੌਕਸੀ ਐਂਟਰੀਆਂ ਰਿਪੋਜ਼ਟਰੀ ਸੈਸ਼ਨ ਦੇ ਚੋਣਕਰਤਾ ਵਿੱਚ ਲੋਡ ਕਰਦਾ ਹੈ। ਡਿਫਾਲਟ ਵਰਤੋਂਕਾਰ/ਗਲੋਬਲ ਸੈਟਿੰਗਾਂ ਟਿਕਾਣਿਆਂ ਨੂੰ ਵੀ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹਨ; ਜਦੋਂ IDE, ਬਿਲਡ ਏਜੰਟ ਜਾਂ ਟੈਸਟ ਰਨਰ ਦੀ ਹੋਰ ਹੋਮ ਡਾਇਰੈਕਟਰੀ ਹੋਵੇ ਤਾਂ ਸਪੱਸ਼ਟ ਫਾਈਲ ਮਦਦ ਕਰਦੀ ਹੈ।
ਸੈਟਿੰਗਾਂ ਮਾਰਗ, ਰਿਪੋਜ਼ਟਰੀ URL ਅਤੇ ਇਹ ਜਾਂਚੋ ਕਿ ਕੀ ਆਰਟੀਫੈਕਟ ਅਸਲ ਵਿੱਚ ਡਾਊਨਲੋਡ ਕਰਨ ਦੀ ਲੋੜ ਸੀ। ਗਰਮ ਰਿਪੋਜ਼ਟਰੀ ਗੁੰਮ ਮਾਰਗ ਲੁਕਾ ਸਕਦੀ ਹੈ। resolver ਡਿਪਲਾਏਮੈਂਟ ਆਰਟੀਫੈਕਟ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ; ਟੈਸਟ ਵੱਲੋਂ ਵਰਤਿਆ HTTP ਕਲਾਇੰਟ ਦੂਜੀ ਬੇਨਤੀ ਕਰਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਆਪਣੀ ਕਨਫਿਗਰੇਸ਼ਨ ਚਾਹੀਦੀ ਹੈ। ਜਿਨ੍ਹਾਂ ਦਾ HTTP ਕਲਾਇੰਟ JVM ਪ੍ਰੌਕਸੀ ਗੁਣਾਂ ਦਾ ਸਤਿਕਾਰ ਕਰਦਾ ਹੈ ਉਨ੍ਹਾਂ Maven Surefire ਟੈਸਟਾਂ ਲਈ ਟੈਸਟ JVM ਦੇ ਪ੍ਰੌਕਸੀ ਇਨਪੁੱਟ ਕਨਫਿਗਰ ਕਰੋ।