gpt4 book ai didi

java - 在 ANT 中解码 URL

转载 作者:行者123 更新时间:2023-11-30 03:42:26 25 4
gpt4 key购买 nike

我正在开发一个 ANT 构建脚本,应通过另一个应用程序(Oxygen XML 编辑器)调用该脚本。此应用程序传递一些属性,其中之一是编码为 URL 的路径(注意:我无法控制此输入;它只是一个 URL)。例如,属性 ${project.url}已分配file:/F:/projectpath/ 。在我的 ANT 脚本中,我删除了 file:/获取可以在 ANT 任务中使用的路径,如 <mkdir dir="${project.path}/_temp/> .

然而,对于更复杂的 URL 来说,这似乎过于简单。假设项目路径包含空格。然后${project.url}属性(property)将被分配file:/F:/project%20path/ 。只是去掉 ' file:/部分结果导致 ANT 任务仍然存在问题的路径。在这种情况下,URL 编码的空格字符 ( %20 ) 应再次解码为 <mkdir/> 的空格。上面的任务才能工作。

当然,这个问题不仅限于空格,还适用于最终在编码 URL 中转义的所有字符。因此,应该正确解码 URL 以便在 ANT 任务中使用。

ANT 中是否有一种简单的方法(最好没有 ANT-contrib)来:

  1. 解码网址
  2. 将此解码后的网址分配给另一个属性

...因此,给定属性 ${project.url}值(value)file:/F:/project%20path/ ,我可以得出另一个属性 ${project.path}值(value)F:/project path/

最佳答案

您始终可以运行<script>任务设置一个变量,然后在 build.xml 中使用该变量。

例如:

https://ant.apache.org/manual/Tasks/script.html

<script language="groovy">
xmlfiles = new java.io.File(".").listFiles().findAll{ it =~ "\.xml$"}
xmlfiles.sort().each { self.log(it.toString())}
</script>

关于java - 在 ANT 中解码 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26539422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com