- 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/
对于我的程序,目标是使用一堆接口(interface)并创建一个程序来进行测试并允许用户进行测试。我遇到的具体问题是 IQuestionFactory 接口(interface),它有助于在 Test
我刚刚读到有关反射的内容并决定尝试一下,但我似乎遇到了一个错误,我找不到原因。 我在一个类中得到了以下代码: String hashType = "md5"; Method method = Dige
我正在尝试使用反射来加载一个类的实例。当我尝试这样做时,我没有得到这样的方法异常。我已经检查并检查并重新检查。该构造函数显然确实存在。有人有什么想法吗?我之前在另一个代码基本相同的项目中成功使用过它,
这是连接两个关系的作业, import org.apache.hadoop.mapred.*; import org.apache.hadoop.conf.*; import org.apache.h
我正在尝试反序列化包含方法的 XML 文件。 片段看起来像: XMLDecoder decoder = new XMLDecoder(os); deSerializedObject = de
在我的 POM 中,我添加了依赖项 String 4.2.9.RELEASE、Spring boot 1.5.1.RELEASE 和 FasterXML/jackson 2.8.6,并出现以下错误:
在我的代码中有一个方法应该调用对象的方法doSomething。首先,不知道对象的类是否具有公共(public)方法。到目前为止,我使用了以下代码: try { Method method = c
我有以下具有静态方法的类,该方法采用 Class 类型的参数并生成一个 FunctionDescriptor。 public class NoInputFunctionDescriptorFactor
我正在使用 glassfish 3.1.2.2 服务器和 idea Ultimate Edition 11(在 Ubuntu 12.04 上)。当我部署我的耳朵项目时,有一个异常(exception)
所以我有一个定义了 2 个公共(public)方法的类。当我调用 getDeclaredMethods 时,然后循环结果,打印名称,两者都正确显示。所以不仅该方法存在,而且反射调用也找到了它。 但是当
每当使用 URLClassLoader 动态加载类时,当尝试执行使用自定义数据类型作为参数的方法时,我都会收到 NoSuchMethodException 异常。它查找具有标准类型(如 String
我正在尝试根据类和参数创建类的实例。用于创建此类的方法如下所示: @SuppressWarnings("unchecked") public Plugin instantiatePlugin(
我正在构建一个 JavaFx 应用程序,我想创建一个接收 GridPane 和 Node[] 以及添加到 Pane 中的项目数量的方法。但是,当我调用该方法时,我收到 NoSuchMethodExce
我有一个类如下: public class StreamEventSuccess { private final T event; public StreamEventSuccess(
我们正在开发一个动态类加载器项目,并尝试通过 URLClassLoader 调用动态加载类中的方法。它在 Eclipse 中运行时工作得很好,因此调用和动态加载的类被捆绑到两个不同的 jar 中,然后
我正在使用 Taylor 近似在 Java 中编写正弦函数的递归定义,但在运行代码时得到了 noSuchMethodException。这是我到目前为止所拥有的: public static void
我有一个 Android 应用程序。我正在使用反射来调用 CookieManager 的方法。 我在做什么: if (Build.VERSION.SDK_INT >= 21) { Method
我正在尝试编写一个表单,有一次有 2 个单选按钮询问此人的性别。我想要求至少按下一个按钮,否则他们就会 toast 。它们出现在 activity_main 中:
给出的类奖: public class Award { /* * */ // fields of the class Award() {
我在执行时得到一个NoSuchMethodException: operacionDTO.getClass().getMethod("setPrioridad").invoke(operacionDT
我是一名优秀的程序员,十分优秀!