2015-12-03 54 views
0

我尝试按照github上的Spring OAuth项目的“入门”部分安装和运行示例:https://github.com/spring-projects/spring-security-oauth。我尝试了不同的方式和运行mvn install -P bootstrap在测试阶段mvn安装Spring Security OAuth2失败

这里的时候,总会遇到这样在Maven的测试阶段同样的错误是一些我想变体:

  • 下载v.2.0.9,快照与Eclipse例如:It
    • 改为发布标签V2.0.8
    • 改为发布标签V2.0.7
    • 改为发布标签v2.0.6
  • 从网上下载大师2.0.9-快照作为一个zip
  • 下载2.0.8发行版本作为一个zip
  • 清除本地仓库(其实引用在Maven的settings.xml空白目录)
  • 用于不同版本的行家(3.0.5和3.3.3)
  • 使用了三种不同的JDK

测试阶段的结果是总是这样:

Results : 

Tests in error: 
    testExpiringRefreshToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testExpiringRefreshToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testExpiringAccessToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testExpiringAccessToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testStoreRefreshToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testStoreRefreshToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testRetrieveAccessToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testRetrieveAccessToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testReadingRefreshTokenForTokenThatDoesNotExist(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testReadingRefreshTokenForTokenThatDoesNotExist(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testFindAccessTokensByClientId(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testFindAccessTokensByClientId(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testFindAccessTokensByClientIdAndUserName(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testFindAccessTokensByClientIdAndUserName(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testStoreAccessToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testStoreAccessToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testRemovedTokenCannotBeFoundByUsername(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testRemovedTokenCannotBeFoundByUsername(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testReadingAccessTokenForTokenThatDoesNotExist(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testReadingAccessTokenForTokenThatDoesNotExist(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testRemoveRefreshToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testRemoveRefreshToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testReadingAuthenticationForTokenThatDoesNotExist(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testReadingAuthenticationForTokenThatDoesNotExist(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testStoreAccessTokenTwice(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testStoreAccessTokenTwice(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testRefreshTokenIsNotStoredDuringAccessToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testRefreshTokenIsNotStoredDuringAccessToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testGetAccessTokenForDeletedUser(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 
    testGetAccessTokenForDeletedUser(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) 

Tests run: 610, Failures: 0, Errors: 30, Skipped: 0 

[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Summary: 
[INFO] 
[INFO] OAuth for Spring Security .......................... SUCCESS [ 2.044 s] 
[INFO] OAuth 1(a) for Spring Security ..................... SUCCESS [ 20.215 s] 
[INFO] OAuth2 for Spring Security ......................... FAILURE [ 29.350 s] 
[INFO] spring-oauth2-tests ................................ SKIPPED 
[INFO] spring-oauth2-tests-common ......................... SKIPPED 
[INFO] spring-oauth2-tests-vanilla ........................ SKIPPED 
[INFO] spring-oauth2-tests-mappings ....................... SKIPPED 
[INFO] spring-oauth2-tests-form ........................... SKIPPED 
[INFO] spring-oauth2-tests-jwt ............................ SKIPPED 
[INFO] spring-oauth2-tests-approval ....................... SKIPPED 
[INFO] spring-oauth2-tests-jdbc ........................... SKIPPED 
[INFO] spring-oauth-tests-custom-grant .................... SKIPPED 
[INFO] spring-oauth2-tests-multi .......................... SKIPPED 
[INFO] spring-oauth2-tests-client ......................... SKIPPED 
[INFO] spring-oauth2-tests-resource ....................... SKIPPED 
[INFO] spring-oauth2-tests-custom-authentication .......... SKIPPED 
[INFO] spring-oauth2-tests-xml ............................ SKIPPED 
[INFO] spring-oauth2-tests-xml-common ..................... SKIPPED 
[INFO] spring-oauth2-tests-xml-vanilla .................... SKIPPED 
[INFO] spring-oauth2-tests-xml-mappings ................... SKIPPED 
[INFO] spring-oauth2-tests-xml-form ....................... SKIPPED 
[INFO] spring-oauth2-tests-xml-jwt ........................ SKIPPED 
[INFO] spring-oauth2-tests-xml-approval ................... SKIPPED 
[INFO] spring-oauth2-tests-xml-jdbc ....................... SKIPPED 
[INFO] spring-oauth2-tests-xml-client ..................... SKIPPED 
[INFO] OAuth for Spring Security - Integration Tests ...... SKIPPED 
[INFO] OAuth for Spring Security - Sparklr (OAuth 1 Provider Example) SKIPPED 
[INFO] OAuth for Spring Security - Tonr (OAuth 1 Consumer Example) SKIPPED 
[INFO] OAuth for Spring Security - Sparklr2 (OAuth 2 Provider Example) SKIPPED 
[INFO] OAuth for Spring Security - Tonr2 (OAuth 2 Client Example) SKIPPED 
[INFO] OAuth for Spring Security - Samples ................ SKIPPED 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 52.860 s 
[INFO] Finished at: 2015-12-03T16:53:58+01:00 
[INFO] Final Memory: 59M/172M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project spring-security-oauth2: There are test failures. 
[...] 

这里有一些我在测试过程中遇到的异常:

[...] 
testExpiringRefreshToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) Time elapsed: 0.008 sec <<< ERROR! 
java.lang.NullPointerException 
    at java.util.Objects.requireNonNull(Objects.java:203) 
    at java.nio.file.Files.copy(Files.java:2984) 
    at redis.embedded.RedisServer.extractExecutableFromJar(RedisServer.java:85) 
    at redis.embedded.RedisServer.<init>(RedisServer.java:69) 
    at redis.embedded.RedisServer.<init>(RedisServer.java:63) 
    at redis.embedded.RedisServer.<init>(RedisServer.java:55) 
    at org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests.setup(RedisTokenStoreTests.java:40) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) 
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) 
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) 
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) 
    at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) 
    at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) 
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) 
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75) 

testExpiringRefreshToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) Time elapsed: 0.008 sec <<< ERROR! 
java.lang.NullPointerException 
    at org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests.tearDown(RedisTokenStoreTests.java:49) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) 
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) 
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) 
    at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) 
    at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) 
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) 
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75) 

testExpiringAccessToken(org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests) Time elapsed: 0 sec <<< ERROR! 
java.lang.NullPointerException 
    at java.util.Objects.requireNonNull(Objects.java:203) 
    at java.nio.file.Files.copy(Files.java:2984) 
    at redis.embedded.RedisServer.extractExecutableFromJar(RedisServer.java:85) 
    at redis.embedded.RedisServer.<init>(RedisServer.java:69) 
    at redis.embedded.RedisServer.<init>(RedisServer.java:63) 
    at redis.embedded.RedisServer.<init>(RedisServer.java:55) 
    at org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStoreTests.setup(RedisTokenStoreTests.java:40) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) 
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) 
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) 
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) 
    at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) 
    at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) 
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) 
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75) 
[...] 

因为显然没有人其他人在遇到这种情况,我必须做一些事情真的错了,但我不知道这会有可能是什么。

希望能帮忙, 比约恩

回答

0

我觉得这其实是Redis的嵌入式操作系统上(OS)的问题。我们试图在Spring Session中利用嵌入式Redis,但是它给各种操作系统带来了很多问题。见spring-session/issues/121

总之,我认为这是一个测试的错误。

+0

Rob还提供了关于github上的项目页面的更多细节:https://github.com/spring-projects/spring-security-oauth/issues/650也许这对其他人也有帮助。 –

相关问题