根据Spring Boot 1.2.3 Reference Docs的说法。启用jolokia似乎和添加以下Maven依赖项一样简单:
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>虽然这对于打包为fat jar的Spring Boot应用程序是有效的,但当打包为WAR文件时,我无法让它工作。
根本原因似乎是:
Caused by: java.lang.ClassNotFoundException: org.json.simple.JSONAware我使用STS进行开发,并部署到嵌入式pivotal tc Server3.1。包含org.json.simple.JSONAware的依赖项(json-simple-1.1.1.jar)确实出现在Maven依赖项节点下,所以我不确定是什么问题。
发布于 2015-05-18 22:58:20
所以,当我写这个问题的时候,我偶然发现了一个至少似乎对我有效的解决方案:
我查看了一下,发现了以下依赖声明:
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
<optional>true</optional>
</dependency>因此,由于缺少更好的选择,我显式声明了以下依赖项
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<optional>false</optional>
</dependency>将false添加到<optional>元素似乎是必要的。
现在我可以通过以下url访问jolokia:
http://<myurl>:<myport>/<appcontext>/jolokia发布于 2016-12-17 22:35:38
在1.4.4版本中,这个问题似乎已经得到解决:
<dependency>
<!-- Make json-simple non-optional.
It is marked optional in boot-dependencies, but required by jolokia-core.
Without this fix it would be missing when used war-packaging. -->
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<optional>false</optional>
</dependency>然而,我在JBoss中看到了类似的问题。
https://stackoverflow.com/questions/30306429
复制相似问题