我希望能够在Hudson / Jenkins的果冻脚本中将目录和文件名称与完整路径分开。
例如,如果我有/dir1/dir2/dir3/file.ext
我想(在果冻脚本中)可以访问/dir1/dir2/dir3
和file.ext
。
java io函数如getPath()和getName()是否可用于果冻脚本?
答案 0 :(得分:0)
Dion Gillard的Jelly: Executable XML套牌非常有助于整理出来。从幻灯片中我了解了invoke(和invokeStatic)标签,这正是我所需要的。 Apache FilenameUtils class有一些非常好的静态方法来处理文件名,它包含在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
。