我需要使用Ant来分割和操作字符串。
要求是:我的ant文件中有以下属性
我需要将ConnectString操作为: jdbc.oracle:thin:userName/password@testdb:1521:db11g
任何指针都会非常有用。
答案 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