0

我正在 STS 的一个 jhipster 项目上工作。当我在 STS 中将应用程序作为 Spring Boot 应用程序启动时,我收到以下异常日志。

2021-05-30 10:57:14.057 调试 13228 --- [on(3)-127.0.0.1] javax.management.mbeanserver:异常调用 isInstanceOf

java.lang.ClassNotFoundException: org/springframework/context/support/LiveBeansView at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:427)在 java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.isInstanceOf(DefaultMBeanServerInterceptor.java:1394) 在 java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.isInstanceOf(JmxMBeanServer.java:1091) 在 java.management /javax.management.InstanceOfQueryExp.apply(InstanceOfQueryExp.java:107) 在 java.management/javax.management.OrQueryExp.apply(OrQueryExp.java:97) 在 java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.objectNamesFromFilteredNamedObjects (DefaultMBeanServerInterceptor.java:1496) 在 java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.queryNamesImpl(DefaultMBeanServerInterceptor.java:560) 在 java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.queryNames(DefaultMBeanServerInterceptor.java:550) 在 java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.queryNames(JmxMBeanServer.java:619) 在 java .management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1485) 在 java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307)在 java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399) 在 java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.queryNames(RMIConnectionImpl.java:570)在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl 的 java.base/jdk.internal.reflect.GeneratedMethodAccessor294.invoke(未知来源)。在 java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) 的 java.base/java.lang.reflect.Method.invoke(Method.java:564) 调用(DelegatingMethodAccessorImpl.java:43)在 java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) 在 java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) 在 java.base/java .security.AccessController.doPrivileged(AccessController.java:691) 在 java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) 在 java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages (TCPTransport.java:587) 在 java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828) 在 java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda $run$0(TCPTransport.java:705) 在 java.base/java.security.AccessController.doPrivileged(AccessController.java:391) 在 java.rmi/sun.rmi。transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704) 在 java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) 在 java.base/java.util.concurrent.ThreadPoolExecutor$ Worker.run(ThreadPoolExecutor.java:630) 在 java.base/java.lang.Thread.run(Thread.java:832)

2021-05-30 10:57:14.057 调试 13228 --- [on(3)-127.0.0.1] javax.management.mbeanserver:异常调用 isInstanceOf

java.lang.ClassNotFoundException: org/springframework/boot/actuate/endpoint/jmx/EndpointMBean at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class. java:427) 在 java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.isInstanceOf(DefaultMBeanServerInterceptor.java:1394) 在 java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.isInstanceOf(JmxMBeanServer.java:1091)在 java.management/javax.management.InstanceOfQueryExp.apply(InstanceOfQueryExp.java:107) 在 java.management/javax.management.OrQueryExp.apply(OrQueryExp.java:97) 在 java.management/javax.management.OrQueryExp.apply (OrQueryExp.java:97) 在 java.management/com.sun.jmx.interceptor 的 java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.objectNamesFromFilteredNamedObjects(DefaultMBeanServerInterceptor.java:1496)。DefaultMBeanServerInterceptor.queryNamesImpl(DefaultMBeanServerInterceptor.java:560) 在 java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.queryNames(DefaultMBeanServerInterceptor.java:550) 在 java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.queryNames( JmxMBeanServer.java:619) 在 java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1485) 在 java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation。在 java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl 上运行 (RMIConnectionImpl.java:1307) 在 java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399)。 java.base/jdk.internal.reflect.GeneratedMethodAccessor294.invoke(Unknown Source) 的 queryNames(RMIConnectionImpl.java:570)。在 java.base/java.lang.reflect.Method.invoke(Method.java:564) 在 java.rmi/sun.rmi.server 的 base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)。 UnicastServerRef.dispatch(UnicastServerRef.java:359) 在 java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) 在 java.rmi/sun.rmi.transport.Transport$1.run(Transport. java:197) 在 java.base/java.security.AccessController.doPrivileged(AccessController.java:691) 在 java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) 在 java.rmi/sun .rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587) 在 java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828) 在 java.rmi/sun.rmi .transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705) 在 java.base/java.security.AccessController。doPrivileged(AccessController.java:391) 在 java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704) 在 java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor. java:1130) 在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) 在 java.base/java.lang.Thread.run(Thread.java:832)

2021-05-30 10:57:14.057 调试 13228 --- [on(3)-127.0.0.1] javax.management.mbeanserver:异常调用 isInstanceOf

java.lang.ClassNotFoundException: org/springframework/boot/actuate/endpoint/jmx/DataEndpointMBean at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class. java:427) 在 java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.isInstanceOf(DefaultMBeanServerInterceptor.java:1394) 在 java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.isInstanceOf(JmxMBeanServer.java:1091)在 java.management/javax.management.InstanceOfQueryExp.apply(InstanceOfQueryExp.java:107) 在 java.management/javax.management.OrQueryExp.apply(OrQueryExp.java:97) 在 java.management/javax.management.OrQueryExp.apply (OrQueryExp.java:97) 位于 java.management/com.sun.jmx.interceptor 的 java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.objectNamesFromFilteredNamedObjects(DefaultMBeanServerInterceptor.java:1496)。DefaultMBeanServerInterceptor.queryNamesImpl(DefaultMBeanServerInterceptor.java:560) 在 java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.queryNames(DefaultMBeanServerInterceptor.java:550) 在 java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.queryNames( JmxMBeanServer.java:619) 在 java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1485) 在 java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation。在 java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl 上运行 (RMIConnectionImpl.java:1307) 在 java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399)。 java.base/jdk.internal.reflect.GeneratedMethodAccessor294.invoke(Unknown Source) 的 queryNames(RMIConnectionImpl.java:570)。在 java.base/java.lang.reflect.Method.invoke(Method.java:564) 在 java.rmi/sun.rmi.server 的 base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)。 UnicastServerRef.dispatch(UnicastServerRef.java:359) 在 java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) 在 java.rmi/sun.rmi.transport.Transport$1.run(Transport. java:197) 在 java.base/java.security.AccessController.doPrivileged(AccessController.java:691) 在 java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) 在 java.rmi/sun .rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587) 在 java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828) 在 java.rmi/sun.rmi .transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705) 在 java.base/java.security.AccessController。doPrivileged(AccessController.java:391) 在 java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704) 在 java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor. java:1130) 在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) 在 java.base/java.lang.Thread.run(Thread.java:832)

但是,如果我在命令提示符下启动应用程序,则没有例外。这让我想知道这是否是 STS 中的一个问题。谁能帮忙?

4

1 回答 1

1

这些是 DEBUG 日志语句并且与 JMX 相关,因此您可以通过在 logback-spring.xml 中的“javax.management”上将日志级别设置为 WARN 或 INFO 来安全地忽略它们

<logger name="javax.management" level="WARN"/>

只是 MBean 服务器尝试实例化一些类以查看它是否必须通过 JMX 公开它们,如果缺少该类,这不是问题。

为什么它在 STS 中有所不同?我不知道,但可能是 STS 以不同方式配置日志记录。不幸的是,STS 或普通 Eclipse 在 JHipster 社区中并未广泛使用。

于 2021-05-30T09:16:56.920 回答