在Ant中拆分一个字符串

时间:2015-06-26 11:20:10

标签: ant

我需要使用Ant来分割和操作字符串。

要求是:我的ant文件中有以下属性

  1. 用户名=用户名
  2. 密码=密码
  3. ConnectString中= jdbc.oracle:薄@ TESTDB:1521:db11g
  4. 我需要将ConnectString操作为: jdbc.oracle:thin:userName/password@testdb:1521:db11g

    任何指针都会非常有用。

1 个答案:

答案 0 :(得分:2)

为什么不像这样构建你的ConnectString属性? :

 <property name="UserName" value="userName"/>
 <property name="Password" value="password"/>
 <property name="ConnectString" value="jdbc.oracle:thin:${UserName}/${Password}@testdb:1521:db11g"/>

否则使用带有内置javascript引擎(JDK&gt; = 1.6.0_06)的脚本任务和用于属性操作的ant api,f.e。 :

<project>
 <property name="UserName" value="userName"/>
 <property name="Password" value="password"/>
 <property name="ConnectString" value="jdbc.oracle:thin@testdb:1521:db11g"/>

 <script language="javascript">
  a = project.getProperty('ConnectString').split('@')

  // to overwrite existing ConnectString property use
  // project.setProperty('ConnectString' ...);
  project.setProperty('foo', a[0] + ':' + project.getProperty('UserName') +
   '/' + project.getProperty('Password') + '@' + a[1]);
 </script>

 <echo>$${foo} => ${foo}</echo>
</project>

输出:

[echo] ${foo} => jdbc.oracle:thin:userName/password@testdb:1521:db11g