我看到我的Maven版本在scm标记阶段失败,在发布插件中有明显的无限递归:
... (hundreds more times)
at org.codehaus.plexus.util.DirectoryScanner.scandir(DirectoryScanner.java:491)
at org.codehaus.plexus.util.DirectoryScanner.scandir(DirectoryScanner.java:491)
at org.codehaus.plexus.util.DirectoryScanner.scandir(DirectoryScanner.java:491)
at org.codehaus.plexus.util.DirectoryScanner.scandir(DirectoryScanner.java:491)
at org.codehaus.plexus.util.DirectoryScanner.scan(DirectoryScanner.java:346)
at org.codehaus.plexus.util.FileUtils.getFileAndDirectoryNames(FileUtils.java:1886)
at org.codehaus.plexus.util.FileUtils.getFileNames(FileUtils.java:1813)
at org.codehaus.plexus.util.FileUtils.getFileNames(FileUtils.java:1795)
at org.codehaus.plexus.util.FileUtils.getFiles(FileUtils.java:1769)
at org.apache.maven.scm.provider.svn.svnexe.command.tag.SvnTagCommand.executeTagCommand(SvnTagCommand.java:172)
at org.apache.maven.scm.command.tag.AbstractTagCommand.executeCommand(AbstractTagCommand.java:81)
at org.apache.maven.scm.command.AbstractCommand.execute(AbstractCommand.java:59)
at org.apache.maven.scm.provider.svn.AbstractSvnScmProvider.executeCommand(AbstractSvnScmProvider.java:388)
at org.apache.maven.scm.provider.svn.AbstractSvnScmProvider.tag(AbstractSvnScmProvider.java:368)
at org.apache.maven.scm.provider.AbstractScmProvider.tag(AbstractScmProvider.java:846)
at org.apache.maven.shared.release.phase.ScmTagPhase.execute(ScmTagPhase.java:127)
...
构建看起来还不错:
[INFO] Working directory: /Users/srowen/Documents/Development/ZXing
[INFO] Tagging release with the label zxing-2.2...
[INFO] Executing: /bin/sh -c cd /Users/srowen/Documents/Development/ZXing && svn --non-interactive copy --file /var/folders/tx/g74p23497xz89k7ngn6_6ykr0000gn/T/maven-scm-1363236967.commit --revision 2758 https://zxing.googlecode.com/svn/trunk https://zxing.googlecode.com/svn/tags/zxing-2.2
[INFO] Working directory: /Users/srowen/Documents/Development/ZXing
有没有人见过这样的东西?它是否响铃可能暗示一些本地问题?没有符号链接,这里没有涉及特别深的目录结构。
答案 0 :(得分:1)
事实证明是目录结构深处的符号链接,指向父目录。一旦删除,这个问题就消失了。我假设它在递归标记目录时引起了一个无限循环,我可能已经预料到这个循环会被工具检测和处理。