- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将 Java 9 与 Spring 一起使用。但我得到了异常(exception):
Caused by: org.springframework.aop.framework.AopConfigException: Unable to instantiate proxy using Objenesis, and regular proxy instantiation via default constructor fails as well; nested exception is java.lang.NoSuchMethodException: org.springframework.boot.autoconfigure.http.HttpMessageConverters$$EnhancerBySpringCGLIB$$1d90bff9.<init>()
at deployment.datalis_gateway.war//org.springframework.aop.framework.ObjenesisCglibAopProxy.createProxyClassAndInstance(ObjenesisCglibAopProxy.java:82)
at deployment.datalis_gateway.war//org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:205)
... 62 more
Caused by: java.lang.NoSuchMethodException: org.springframework.boot.autoconfigure.http.HttpMessageConverters$$EnhancerBySpringCGLIB$$1d90bff9.<init>()
at java.base/java.lang.Class.getConstructor0(Class.java:3302)
at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2512)
at deployment.datalis_gateway.war//org.springframework.aop.framework.ObjenesisCglibAopProxy.createProxyClassAndInstance(ObjenesisCglibAopProxy.java:76)
... 63 more
您知道如何配置 Java 9 来查找此受限 Java 包吗?
最佳答案
当我尝试将 Spring Boot 2 应用程序部署到 Wildfly 13 时,我遇到了同样的错误。这是我在寻找答案时出现的唯一 Stack Overflow 问题,所以我想我应该将我的发现留在此处如果其他人也有同样的问题,因为我的解决方案与现在这里唯一的其他答案非常不同。
使用嵌入式 Tomcat 服务器,我的应用程序可以正常运行,但部署到 Wildfly 会失败,并出现此问题中询问的相同 AopConfigException。我还注意到异常的根本原因是 Spring 正在寻找无参数构造函数,当我在所有 Autowiring 的 Spring 组件中添加无参数构造函数时,该服务实际上部署到 Wildfly 并运行没有任何问题。但这似乎是一种奇怪的解决方法,感觉不对,所以我寻找更好的解决方案。
我是从this github issue学到的这个异常发生在 Wildfly 中,因为 Jboss 模块没有公开 Objenesis 进行构造函数注入(inject)所需的一些依赖项。他们给出的建议解决方案是通过简单地更新项目构建来添加依赖项,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Dependencies>jdk.unsupported</Dependencies>
</manifestEntries>
</archive>
</configuration>
</plugin>
如果这对您有用,那么恭喜您。我从this JBoss issue拼凑而成上述解决方案只是在 MANIFEST.MF 文件中添加“jdk.unsupported”作为“依赖项”的一种方法。对我来说不幸的是,这是 Maven pom 的一部分,而我的团队使用 Gradle 进行构建管理,所以我必须找到另一个解决方案。
虽然可能有一种 Gradle 特定的方法来完成上述任务,但我从 this JBoss development guide 找到了您可以使用包含以下内容的 jboss-deployment-struct.xml 将依赖项添加到 MANIFEST.MF 中:
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="jdk.unsupported"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
即使您确实使用 Maven,这似乎也是首选解决方案,因为如果您以后切换到 Gradle,它的工作原理是一样的。当然,只有当问题被隔离到 JBoss/Wildfly 时,此解决方案才有效。
*注意(以防 JBoss 指南的链接失效):jboss-deployment-struction.xml 文件分别位于 war/jar 应用程序的 WEB-INF 或 META-INF 目录中。
还值得注意的是,我在 Java 11 和 Wildfly 13 上看到了这个问题,但我非常怀疑 Java 9 和 10 以及其他版本的 JBoss/Wildfly 上也存在同样的问题。
关于java - NoSuchMethodException : springframework. boot.autoconfigure.http.HttpMessageConverters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51332334/
我正在试着写一个小的Hello world程序,并用战争来包装它。我正在使用maven并编写一个SpringBoot应用程序来做这件事。。以下是我的Application.Java文件。在构建它时,我
这些组件定义在 spring.factories中 # 初始化器 org.springframework.context.ApplicationContextInitializer=\ org.spr
我创建了一个用于模拟肥皂服务的 Spring Boot 项目 - 它依赖于 org.springframework.ws:spring-ws-security用于处理 ws-sec header ,它
我正在查看 spring-boot 中的 Kafka 自动配置。 阅读文章 Spring-boot auto-configure 下面是从github上复制的代码Here . 我的问题是,如果包含 K
在 Spring Boot 中,有没有办法防止所有模块的自动配置?基本上我正在寻找类似 @DisableAutoConfiguration 的东西而不是用类名排除特定的配置。 最佳答案 自动配置由 @
我使用 Spring Initializer、嵌入式 Tomcat、Thymeleaf 模板引擎生成了一个 Spring Boot Web 应用程序,并将其打包为可执行 JAR文件。 使用的技术: S
我有一个大型 Spring 引导应用程序,其中使用了 RabbitMQ。我为 Rabbit 队列创建了一个 @Configuration 文件。这在 Spring boot 1.0.2 上运行良好。今
我想将 Java 9 与 Spring 一起使用。但我得到了异常(exception): Caused by: org.springframework.aop.framework.AopConfigE
按照将 Jersey 添加到 Sring boot 的在线文档,看来我只需要包含以下包 spring-boot-starter-jersey 实际上,它声明 Spring Boot 通过包含此包来提供
我正在尝试创建一个新的启动器。我有一个业务模块,比如 ProjectManager,其中包含一些用 @Component 注释的类。按照教程,我创建了一个自动配置模块,它包含一个 AutoConfig
我想使用 @WebMvcTest 测试我的 Controller 并模拟依赖项,但 Spring Boot 的 AutoConfiguration 会自动加载我的 Couchbase(Spring D
我将 spring-boot-1.1.10.RELEASE.jar 导入到我的 j2ee 项目中。 但是我找不到自动配置的类。 这是代码: import org.springframework.boo
我使用 Spring Initializr ( http://start.spring.io/ ) 在自动创建的应用程序类中创建了一个示例 Spring Boot 1.2.2 项目: package
我试过了: @RunWith(SpringJUnit4ClassRunner.class) @EnableAutoConfiguration(exclude=CrshAutoConfiguration
在运行 Spring Boot 应用程序时我遇到了这个问题: Exception in thread "main" java.lang.IllegalArgumentException: Cannot
我是一名新手 Java Spring 程序员。我正在将一些测试代码从一个旧的 jHipster 项目移到一个新的项目中。我将其添加到 pom.xml 以修复编译错误。这解决了我的编译问题,但导致了运行
将下面显示的 2 个依赖项添加到我的应用程序后,一切正常,我的 session 数据被写入本地 redis 服务器,但是当我尝试指定 redis 服务器的不同地址时,出现错误。我认为错误与某些依赖问题
我指的是 Spring Boot 关于 的文档自动配置 和 执行器 模块: 自动配置: Spring Boot AutoConfiguration attempts to automatically
我尝试为该项目运行 JAR 文件,但出现以下错误: 引起:java.lang.ClassNotFoundException:org.springframework.boot.autoconfigure
我有一个 FooService 库。 这是 AutoConfiguration 类: @Configuration @EnableConfigurationProperties(FooProperti
我是一名优秀的程序员,十分优秀!