gpt4 book ai didi

java - Spring Boot 应用程序 + Jolokia - 启动期间出现异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:33:43 26 4
gpt4 key购买 nike

我正在使用 Spring Boot 1.5.3.RELEASE 和 Jolokia 1.3.6(也发生在更高版本中)。

Jolokia 是通过添加依赖来集成的:

 <dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>

我们所有共享相同架构的微服务之一无法启动,我在启动期间看到以下根本原因的异常:

Caused by: java.io.FileNotFoundException: JAR entry BOOT-INF/lib/jolokia-core-1.3.7.jar!/META-INF/simplifiers-default not found in <MY_JAR_NAME_GOES_HERE>.jar
at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:142)
at sun.net.www.protocol.jar.JarURLConnection.getInputStream (JarURLConnection.java:150)
at java.net.URL.openStream(URL.java:1045)
at org.jolokia.util.ServiceObjectFactory.readServiceDefinitionFromUrl(ServiceObjectFactory.java:90)

当我从 IDE 启动应用程序时不会发生此异常,只有当我以 java -jar <MY_JAR> 启动时才会发生.

我查看了 Jolokia 代码中产生异常的行,它看起来是这样的:

reader = new LineNumberReader(new InputStreamReader(new URL(pUrl).openStream(),"UTF8"));

所以我得出结论(调试后)new URL(pUrl).openStream()无法找到上述异常堆栈跟踪中指定的 jar 条目。我也明白在 IDE 中它不会发生,因为它适用于不同的类加载器(Spring Boot 应用程序使用 LaunchedURLClassLoader )。

但是,我在源代码中没有看到错误:我们有很多微服务,所有微服务都以相同的配置运行,并且按预期工作,此外,据我所知,这是已记录的Jolokia 集成的方式。

所以我怀疑这里有一些竞争条件或其他什么,但我不能真正指出这里到底发生了什么。

有人遇到过这样的问题吗?有解决方法吗?

最佳答案

我遇到了完全相同的异常。我的问题是文件名有一个 + (我正在使用 reckon Gradle 插件来生成项目版本)。解决方案是在使用 java -jar 运行之前重命名该文件。

关于java - Spring Boot 应用程序 + Jolokia - 启动期间出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47994555/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com