2

我希望能够做一些事情,比如将目录文件名与 Hudson/Jenkins 的果冻脚本中的完整路径分开。

例如,如果我/dir1/dir2/dir3/file.ext想(在果冻脚本中)访问/dir1/dir2/dir3file.ext.

jelly 脚本可以使用 getPath() 和 getName() 等 java io 函数吗?

4

1 回答 1

1

Dion Gillard 的Jelly: Executable XML deck 对解决这个问题很有帮助。从幻灯片中我了解了调用(和invokeStatic)标签,这正是我所需要的。Apache FilenameUtils 类有一些非常好的静态方法来处理文件名,它包含在 Hudson 中。

<j:jelly xmlns:j="jelly:core">
  <j:set var="fullpath" value="/dir1/dir2/dir3/file.ext"/>

  <!-- get the path without the filename -->
  <j:invokeStatic var="justpath" method="getPath" className="org.apache.commons.io.FilenameUtils">
    <j:arg value="${fullpath}"/>
  </j:invokeStatic>

  <!-- get just the filename -->
  <j:invokeStatic var="justname" method="getName" className="org.apache.commons.io.FilenameUtils">
    <j:arg value="${fullpath}"/>
  </j:invokeStatic>
</j:jelly>

在上面的示例中,justpath将设置为/dir1/dir2/dir3/justname将设置为file.ext

于 2011-01-16T23:29:26.397 回答