【问题标题】:spring-security compilation errorspring-security 编译错误
【发布时间】:2014-03-12 23:50:39
【问题描述】:

我正在尝试使用 Gradle 编译 spring-security 3.2.0。 spring4-tests 出现错误。

我正在运行编译:

gradlew clean build -x javadoc

这是我的 DOS 提示符中显示的内容:

609 个测试完成,1 个失败:spring-security-config:spring4Test 失败

FAILURE:构建失败并出现异常。

  • 出了什么问题:任务 ':spring-security-config:spring4Test' 执行失败。

    有失败的测试。参见报告:file:///C:/spring/spring-security -3.2.0.RELEASE/config/build/reports/spring4-tests/index.html

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。

构建失败

总时间:4 分 21.298 秒

我该如何解决这个错误?

这是我的 Gradle 信息:

----------------------------------------------- ------------- Gradle 1.10-rc-2

构建时间:2013-12-11 10:54:54 UTC 内部版本号:无 修订:
36ced393628875ff15575fa03d16c1349ffe8bb6

Groovy:1.8.6 Ant:Apache Ant(TM) 版本 1.9.2 编译于 2013 年 7 月 8 日常春藤:2.2.0 JVM:1.7.0 (Oracle Corporation 21.0-b17) 操作系统:Windows 7 6.1 amd64

这是上面引用的报告中的内容:

测试失败 http/openid-login/attribute-exchange

org.springframework.beans.factory.BeanCreationException: 错误 创建类中定义的名称为“springSecurityFilterChain”的bean org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration: bean 实例化失败;嵌套异常是 org.springframework.beans.factory.BeanDefinitionStoreException: 工厂方法 [public javax.servlet.Filter org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration.springSecurityFilterChain() throws java.lang.Exception] 抛出异常;嵌套异常是 java.lang.reflect.GenericSignatureFormatError 在 org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:592) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1094) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:989) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:700) 在 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) 在 org.springframework.context.annotation.AnnotationConfigApplicationContext.(AnnotationConfigApplicationContext.java:84) 在 org.springframework.security.config.annotation.BaseSpringSpec.loadConfig(BaseSpringSpec.groovy:91) 在 org.springframework.security.config.annotation.web.configurers.NamespaceHttpOpenIDLoginTests.http/openid-login/attribute-exchange(NamespaceHttpOpenIDLoginTests.groovy:79) 造成的: org.springframework.beans.factory.BeanDefinitionStoreException: 工厂方法 [public javax.servlet.Filter org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration.springSecurityFilterChain() throws java.lang.Exception] 抛出异常;嵌套异常是 java.lang.reflect.GenericSignatureFormatError 在 org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:188) 在 org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:581) ... 14 更多原因:java.lang.reflect.GenericSignatureFormatError 在 java.beans.FeatureDescriptor.getParameterTypes(FeatureDescriptor.java:387) 在 java.beans.MethodDescriptor.setMethod(MethodDescriptor.java:114) 在 java.beans.MethodDescriptor.(MethodDescriptor.java:72) 在 java.beans.MethodDescriptor.(MethodDescriptor.java:56) 在 java.beans.Introspector.getTargetMethodInfo(Introspector.java:1150) 在 java.beans.Introspector.getBeanInfo(Introspector.java:433) 在 java.beans.Introspector.getBeanInfo(Introspector.java:174) 在 org.springframework.security.config.annotation.web.configurers.NamespaceHttpOpenIDLoginTests$OpenIDLoginAttributeExchangeConfig.configure(NamespaceHttpOpenIDLoginTests.groovy:118) 在 org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.getHttp(WebSecurityConfigurerAdapter.java:187) 在 org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.init(WebSecurityConfigurerAdapter.java:282) 在 org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.init(WebSecurityConfigurerAdapter.java:57) 在 org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder.init(AbstractConfiguredSecurityBuilder.java:369) 在 org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder.doBuild(AbstractConfiguredSecurityBuilder.java:322) 在 org.springframework.security.config.annotation.AbstractSecurityBuilder.build(AbstractSecurityBuilder.java:39) 在 org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration.springSecurityFilterChain(WebSecurityConfiguration.java:92) 在 org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) 在 org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:326) 在 org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:166) ... 15 更多

【问题讨论】:

  • 没有尝试将堆栈跟踪简化为更简洁和有意义的东西?
  • 通常这里的人想要尽可能多的细节。我将修改我的帖子以包括 DOS 窗口中的内容。
  • 我喜欢完整的堆栈,但最好是格式更好。您使用的是什么版本的 Java?您可以通过输出./gradlew --version 的结果来看到这一点
  • @RobWinch 完成!如果您需要更多信息,请告诉我。
  • 我没有看到 JDK 版本...你能确保包括那个吗?

标签: spring spring-security gradle


【解决方案1】:

这是bug that was fixed in JDK 1.7.0_02 及以上。

update to the latest JDK 7 编译 Spring Security。还有许多安全修复程序应该会鼓励您更新到最新的 JDK 7。

【讨论】:

  • 我使用的是 build 1.7.0-b147。我将尝试将我的 Java7 安装升级到最新版本,看看是否有帮助。
  • 听起来不错...请记住构建版本和补丁版本是不同的数字。另请注意,我使用 1.7.0_01 构建失败并显示相同的错误消息并使用 1.7.0_02 修复它。
  • 我升级到 java 版本“1.7.0_51”并且构建工作正常。谢谢!
猜你喜欢
  • 2013-05-29
  • 2018-10-03
  • 2012-07-06
  • 1970-01-01
  • 2016-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-02
相关资源
最近更新 更多