You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Stephen Connolly (JIRA)" <ji...@apache.org> on 2018/06/17 21:43:01 UTC

[jira] [Updated] (MNG-6401) Cannot interpolate property in proxy port of settings.xml

     [ https://issues.apache.org/jira/browse/MNG-6401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stephen Connolly updated MNG-6401:
----------------------------------
    Fix Version/s:     (was: 3.6.0-candidate)
                   3.6.x-candidate

> Cannot interpolate property in proxy port of settings.xml
> ---------------------------------------------------------
>
>                 Key: MNG-6401
>                 URL: https://issues.apache.org/jira/browse/MNG-6401
>             Project: Maven
>          Issue Type: Bug
>          Components: Bootstrap &amp; Build
>    Affects Versions: 3.0, 3.5.3
>            Reporter: KATADA Junya
>            Priority: Minor
>             Fix For: 3.6.x-candidate
>
>
> If you use a property in proxy port of settings.xml, the property is not replaced and the port number is "0" instead of property value.
> My minimal demo about this problem is [here|https://github.com/jkatada/maven-property-demo]. 
> In my demo, export two environment variables as follows.
> {code}
> export MAVEN_PROXY_HOST_STRING=proxy.foo.com
> export MAVEN_PROXY_PORT_INT=18080
> {code}
> These variables are used in settings.xml for proxy settings.
> {code:xml}
> <proxy>
>     <id>my_proxy</id>
>     <active>true</active>
>     <protocol>http</protocol>
>     <host>${env.MAVEN_PROXY_HOST_STRING}</host>
>     <port>${env.MAVEN_PROXY_PORT_INT}</port>
>     <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
>  </proxy>
> {code}
> Execute maven-help-plugin to show effective settings.xml.
> {code}
> mvn help:effective-settings -X
> {code}
> The result is as follows.
> {code:xml}
> <proxy>
>     <port>0</port>
>     <host>proxy.foo.com</host>
>     <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
>     <id>my_proxy</id>
> </proxy>
>  {code}
> `*${env.MAVEN_PROXY_HOST_STRING}*` is replaced with `*proxy.foo.com*`, 
>  but `*${env.MAVEN_PROXY_PORT_INT}*` is not replaced with `*18080*`.
> I found the following WARNING message in console.
> {code:java}
> [WARNING] Some problems were encountered while building the effective settings
> [WARNING] Unable to parse element 'port', must be an integer (position: END_TAG seen ...<port>${env.MAVEN_PROXY_PORT_INT}</port>... @12:47) caused by: java.lang.NumberFormatException: For input string: "${env.MAVEN_PROXY_PORT_INT}" @ /root/.m2/settings.xml, line 12, column 47
> {code}
> I think that the cause of this problem is to parse settings.xml before interpolation.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)