java.lang.RuntimeException:java.nio.file.DirectoryNotEmptyException

java.lang.RuntimeException:java.nio.file.DirectoryNotEmptyException,java,neo4j,java-io,Java,Neo4j,Java Io,在执行Neo4j测试用例时。我面临以下错误 java.lang.RuntimeException: java.nio.file.DirectoryNotEmptyException:test-data/org.neo4j.test.ha.ClusterTest/D4FA83E7CD83F51509461D8F437E0481/testConflictingHaPorts at org.neo4j.test.rule.TestDirectory.complete(TestDirec

在执行Neo4j测试用例时。我面临以下错误

java.lang.RuntimeException: java.nio.file.DirectoryNotEmptyException:test-data/org.neo4j.test.ha.ClusterTest/D4FA83E7CD83F51509461D8F437E0481/testConflictingHaPorts
        at org.neo4j.test.rule.TestDirectory.complete(TestDirectory.java:211)
        at org.neo4j.test.rule.TestDirectory.access$200(TestDirectory.java:57)
        at org.neo4j.test.rule.TestDirectory$1.evaluate(TestDirectory.java:113)
        at org.junit.rules.RunRules.evaluate(RunRules.java:20)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:254)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:149)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) 
看起来它无法删除目录,因此面临上述执行选项。用户拥有授予的所有权限

下面的代码片段用于删除目录

 public void evaluate() throws Throwable
            {
                directory = new File( new File( new File( new File( "target" ), "test-data" ),
                                                description.getClassName() ), description.getMethodName() );
                delete( directory );
                directory.mkdirs();
                boolean success = false;
                try
                {
                    base.evaluate();
                    success = true;
                }
                finally
                {
                    if ( success )
                    {
                        delete( directory );
                        delete( directory.getParentFile() ); // works if it's empty
                    }
                }
            }

目录不是空的。在删除之前请尝试清除目录。我已删除了目录内容,但它不起作用。我认为它试图在同一个代码段中创建和删除目录。您运行的是什么操作系统?有任何隐藏文件吗?我正在使用Red Hat Enterprise Linux操作系统。是,存在一些隐藏文件。当您尝试删除目录时,隐藏文件是否仍然存在?如果是,它们将阻止删除。您必须确保使用可以处理隐藏文件的命令,例如
ls-a
,以查看它们是否仍然存在。