2016-09-06 29 views
6

Yalnızca belirli bir profil etkinken proxy kullanmak istiyorum. Bunu yapmak için, benim tahminim <proxy> öğesinin <active> özelliğini parametreleştirmektir. Ancak, bunun nasıl gerçekleştirileceğinden tam olarak emin değilim.Sadece Maven'de belirli bir profil etkinken proxy kullanmak mümkün mü?

Soru: Yalnızca belirli bir profil etkinken proxy'yi nasıl kullanabilirim?

+0

_settings.xml_ dosyasında, proxy'ler profil öğesinin dışındadır, bu nedenle bu mümkün olmaz (https://maven.apache.org/settings.html#Proxies) – Tome

+1

size ne yardımcı olabilir: maven'in mvn -s /path/to/settings.xml ile kullandığı settings.xml dosyasını belirtebilir - böylece durumunuz için iki konfigürasyon mümkün olabilir mi? – wemu

cevap

5

Aşağıdaki yaklaşımı deneyebilirsiniz:

<settings> 

    <proxies> 
     <proxy> 
      <id>httpproxy</id> 
      <active>${activate.proxy}</active> 
      <protocol>http</protocol> 
      <host>some.host</host> 
      <port>8080</port> 
      <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts> 
     </proxy> 
    </proxies> 

    <profiles> 
     <profile> 
      <id>proxy-on</id> 
      <properties> 
       <activate.proxy>true</activate.proxy> 
      </properties> 
     </profile> 

     <profile> 
      <id>proxy-off</id> 
      <properties> 
       <activate.proxy>false</activate.proxy> 
      </properties> 
     </profile> 
    </profiles> 

    <activeProfiles> 
     <activeProfile>proxy-off</activeProfile> 
    </activeProfiles> 
</settings> 

Yani varsayılan olarak proxy-off profili etkin olacaktır activate.proxyfalse ve false için proxy arasında active gibi kurmasının. proxy-on profilini etkinleştirmek misiniz

mvn clean install -Pproxy-on 

ve bütün zincir active için true hangi sonuç olmalıdır:

Sonra birlikte yürütülmesi.

+0

@Utku Bu sorunu düzelttiniz mi? Bu cevap yardımını yaptı mı? –

+0

benim için çalıştı, thx –

+1

** Ben ** Maven 3.3.9 ne de 3.5.0 ile çalışmayın. – Jan