【问题标题】:How to write url with ant如何用蚂蚁写网址
【发布时间】:2014-02-18 20:36:35
【问题描述】:

我想更新一个来自 izpack 配置的字符串 url。 当我运行 ant 脚本时,我在编写配置文件时遇到了问题。

例如: 在我的属性文件中写入 url 的正确方法是 url=http://xxx.x.x.x:8080/consola

但是ant写过程结束我得到url=http\://xxx.x.x.x\:8080/consola

如您所见,“\”字符不是 url 的一部分。

这是编写我的配置文件的脚本部分:

<target name="writeConfig">
    <echo message="${isAppUpdate}" />
    <var name="updateFlagCremona" value="${isAppUpdate}" />

    <propertyfile file="../config/config.properties" />

    <property name="main.url" value="${mainUrl}" />
    <property name="bckup.url" value="${bckupUrl}" />

    <propertyfile file="../config/config.properties">
        <entry key="url" operation="=" value="@mainUrl" />
        <entry key="urlBackup" operation="=" value="@bckupUrl" />
    </propertyfile>

    <replace file="../config/config.properties" token="@mainUrl" value="${main.url}" />
    <replace file="../config/config.properties" token="@bckupUrl" value="${bckup.url}" />

    <if>
        <equals arg1="${updateFlagCremona}" arg2="yes" />

        <then>

            <echo message="${mainUrl}" />
            <echo message="${bckupUrl}" />
            <echo message="${consoleId}" />

            <propertyfile file="../config/config.properties">
                <entry key="url" value="${mainUrl}" />
                <entry key="urlBackup" value="${bckupUrl}" />
                <entry key="console.id" value="${consoleId}" />
            </propertyfile>
        </then>
    </if>
</target>

我做错了什么?

【问题讨论】:

标签: java ant


【解决方案1】:

解决方法是从变量中删除额外的 \ 这是一个适合您的工作示例:

<?xml version="1.0"?>
   <project name="Hello World Project" default="info">
    <property name="url" value="http\://xxx.x.x.x\:8080/consola"/>
   <target name="info">
      <echo>before : ${url}</echo>


    <property name="before" value="This is a value"/>
    <script language="javascript">
        var before = project.getProperty("url");
        project.setProperty("after", before.replace("\\", ""));
    </script>
    <echo>after=${after}</echo>

   </target>
</project>

【讨论】:

    【解决方案2】:

    我终于找到了错误!

    我正在转义冒号,但顺序错误。

    我只是以这种方式更改我的脚本:

    <target name="writeConfig">
        <echo message="${isAppUpdate}" />
        <var name="updateFlag" value="${isAppUpdate}" />
    
        <if>
            <equals arg1="${updateFlag}" arg2="yes" />
    
            <then>
                <echo message="${mainUrl}" />
                <echo message="${bckupUrl}" />
    
                <propertyfile file="../config/config.properties" >
                    <entry key="url" value="${mainUrl}" />
                    <entry key="urlBackup" value="${bckupUrl}" />
    
                </propertyfile>
            </then>
        </if>
    
        <property name="main.url" value="${mainUrl}" />
        <property name="bckup.url" value="${bckupUrl}" />
    
        <propertyfile file="../config/config.properties">
            <entry key="url" operation="=" value="@mainUrl" />
            <entry key="urlBackup" operation="=" value="@bckupUrl" />
        </propertyfile>
    
        <replace file="../config/config.properties" token="@mainUrl" value="${main.url}" />
        <replace file="../config/config.properties" token="@bckupUrl" value="${bckup.url}" />
    
    
    </target>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      • 2015-03-22
      • 2019-04-06
      • 1970-01-01
      • 2010-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多