You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven引入druid报错Could not find artifact com.sun:jconsole:jar:1.8如何解决

配置有效性判断

你提供的排除配置是完全正确的。
druid 1.2.6版本默认依赖了com.sun下的tools和jconsole两个构件,这两个包属于JDK8自带的私有类包,不会在公共Maven仓库分发,因此在CI环境、高版本JDK环境或者未做特殊配置的本地环境执行Maven构建时都会触发找不到构件的报错。排除这两个依赖不会影响Druid的核心数据源功能,仅当你需要使用Druid监控模块的JVM底层指标采集能力时才会用到这两个依赖,普通业务开发场景下可以安全排除。

其他可行解决方案

  • 升级druid-spring-boot-starter版本:1.2.8及之后的官方版本已经默认移除了对com.sun:tools、com.sun:jconsole的强制依赖,直接将依赖版本升级到最新稳定版即可省略手动排除的配置。
  • 配置JDK本地依赖:如果确实需要使用这两个依赖对应的功能,且你的运行环境固定为JDK8,可以在pom中添加system范围的依赖指向本地JDK路径中的对应jar包,参考配置如下:
<dependency>
    <groupId>com.sun</groupId>
    <artifactId>jconsole</artifactId>
    <version>1.8</version>
    <scope>system</scope>
    <systemPath>${java.home}/../lib/jconsole.jar</systemPath>
</dependency>
<dependency>
    <groupId>com.sun</groupId>
    <artifactId>tools</artifactId>
    <version>1.8</version>
    <scope>system</scope>
    <systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>

该方案适配性较差,高版本JDK已移除这两个jar包,不推荐长期使用。

  • 私有仓库上传依赖:如果是团队统一构建场景,可以将jconsole.jar和tools.jar上传至团队内部私有Maven仓库,所有项目和CI环境都可以正常拉取依赖,无需单独配置排除规则或本地路径。

内容的提问来源于stack exchange,提问作者尚轶轩

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:54:01