2013-12-16 140 views
4

我wan't名为部署插件修改詹金斯插件。如果我Maven的插件的InjectedTest运行安装到文件系统异常:詹金斯插件生成错误

C:\用户\泡沫\应用程序数据\本地的\ Temp \ hudson2805772493654455072test \ secret.key: 该进程无法访问该文件,因为它被另一个过程 。

英文:

C:\用户\泡沫\应用程序数据\本地的\ Temp \ hudson2805772493654455072test \ secret.key:因为它正在被其他进程使用 该进程无法访问该文件,

我认为这仅仅是一个读/写的VM或Windows7中的问题的。有谁知道如何角落找寻这个问题的工作?

PS这里是堆栈跟踪


T E S T S 
------------------------------------------------------- 
Running hudson.plugins.deploy.glassfish.GlassFish2xAdapterTest 
Running hudson.plugins.deploy.glassfish.GlassFish3xAdapterTest 
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.229 sec - in hudson.plugins.deploy.glassfish.GlassFish2xAdapterTest 
Running hudson.plugins.deploy.glassfish.GlassFishAdapterTest 
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in hudson.plugins.deploy.glassfish.GlassFishAdapterTest 
Running hudson.plugins.deploy.PasswordProtectedAdapterCargoTest 
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.251 sec - in hudson.plugins.deploy.glassfish.GlassFish3xAdapterTest 
Running hudson.plugins.deploy.tomcat.Tomcat7xAdapterTest 
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in hudson.plugins.deploy.tomcat.Tomcat7xAdapterTest 
Running InjectedTest 
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.251 sec - in hudson.plugins.deploy.PasswordProtectedAdapterCargoTest 
Tests run: 8, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 12.069 sec <<< FAILURE! - in InjectedTest 
org.jvnet.hudson.test.JellyTestSuiteBuilder$JellyTestSuite(org.jvnet.hudson.test.junit.FailedTest) Time elapsed: 0.005 sec <<< ERROR! 
java.io.IOException: Failed to clean up temp dirs 
    at org.jvnet.hudson.test.TemporaryDirectoryAllocator.dispose(TemporaryDirectoryAllocator.java:86) 
    at org.jvnet.hudson.test.TestEnvironment.dispose(TestEnvironment.java:81) 
    at org.jvnet.hudson.test.HudsonTestCase.tearDown(HudsonTestCase.java:414) 
    at org.jvnet.hudson.test.JellyTestSuiteBuilder$JellyTestSuite.tearDown(JellyTestSuiteBuilder.java:138) 
    at org.jvnet.hudson.test.junit.GroupedTest.run(GroupedTest.java:53) 
    at junit.framework.TestSuite.runTest(TestSuite.java:255) 
    at junit.framework.TestSuite.run(TestSuite.java:250) 
    at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) 
    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) 
Caused by: java.nio.file.FileSystemException: C:\Users\froth\AppData\Local\Temp\hudson2805772493654455072test\secret.key: Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. 
+0

我exatly做了我与Windows8的第二个PC同样的事情。它工作得很好... –

回答

5

我对Windows 7的相同问题,为此withsome进一步分析打开https://issues.jenkins-ci.org/browse/JENKINS-21977

尽管如此,作为临时解决方法,你可以通过添加以下到pom.xml中禁用注入测试:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <excludes> 
        <exclude>InjectedTest.java</exclude> 
       </excludes> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
+0

我卡在这一天现在..什么是真正的解决方案?我不能只是禁用测试... – ilans

0

随着时间的解决方案,因此(从发行第一评论中link开业以前的答案)更改父POM 1539的版本并解决问题与编制;它与我完美地工作,而不需要跳过测试。