提问人:Pujitha 提问时间:9/23/2023 更新时间:9/23/2023 访问量:53
将 New Relic Agent 与 Java 17 集成:java.sql.SQLException NoClassDefFoundError
Integrating New Relic Agent with Java 17: java.sql.SQLException NoClassDefFoundError
问:
我正在尝试为指标集成 newrelic-agent。我正在使用下面的 newrelic 版本,在本地运行时,它工作正常。
<groupId>com.newrelic.agent.java</groupId>
<artifactId>newrelic-agent</artifactId>
<version>8.5.0</version>
从以下位置下载了我的新遗物.jar curl -O https://download.newrelic.com/newrelic/java-agent/newrelic-agent/current/newrelic-java.zip 但是当我使用 java 17 linux/x86_64 openjdk:17-jdk-buster 的映像将我的服务添加到 docker 时,我收到 NoClassDefFoundError 异常。错误详细信息
Unable to start New Relic Agent. Please remove -javaagent from your startup arguments and contact New Relic support.
java.lang.NoClassDefFoundError: java/sql/SQLException
at com.newrelic.agent.database.ParsedDatabaseStatement.<init>(ParsedDatabaseStatement.java:26)
at com.newrelic.agent.database.SelectVariableStatementFactory.<init>(SelectVariableStatementFactory.java:19)
at com.newrelic.agent.database.DefaultDatabaseStatementParser.<init>(DefaultDatabaseStatementParser.java:55)
at com.newrelic.agent.database.DatabaseService.<init>(DatabaseService.java:40)
at com.newrelic.agent.service.ServiceManagerImpl.doStart(ServiceManagerImpl.java:260)
at com.newrelic.agent.service.AbstractService.start(AbstractService.java:63)
at com.newrelic.agent.Agent.continuePremain(Agent.java:173)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.newrelic.bootstrap.BootstrapAgent.startAgent(BootstrapAgent.java:175)
at com.newrelic.bootstrap.BootstrapAgent.premain(BootstrapAgent.java:117)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:491)
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:503)
Caused by: java.lang.ClassNotFoundException: java.sql.SQLException
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:587)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 19 more
我尝试使用不同版本的 newrelic-agent 并更改了 mysql-connector 版本
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
答: 暂无答案
评论