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

Maven使用system scope引入本地依赖后Jar变小但启动失败

问题分析与解决方案

问题现象

  • 使用system scope引入本地vzbiicommon-3.0依赖时,生成的Jar仅约81MB,但启动时抛出ClassNotFoundException,找不到com.hcs.cisco.www.HCSProvision_xsd.PartyRole类;
  • 使用仓库引入vzbiicommon-2.4-FIX.3依赖时,生成的Jar约138MB,可正常启动。

原因解析

  1. Jar大小差异:
    system scope是Maven的特殊依赖范围,默认情况下Spring Boot打包插件不会将system scope的依赖及其传递依赖打包到最终可执行Jar中,因此生成的Jar体积更小;而仓库引入的依赖默认是compile scope,会将依赖本身以及其所有传递依赖(排除指定项除外)打包进Jar,所以体积更大。

  2. 启动失败原因:
    运行时JVM无法找到system scope依赖中的类(包括其依赖的第三方类,比如PartyRole),因为这些类没有被包含在可执行Jar中,导致Spring容器初始化时反射自省类失败,最终启动报错。

解决方案

方案一:配置打包插件包含system scope依赖

修改pom.xml中的Spring Boot Maven插件配置,添加includeSystemScope参数,让插件将system scope的依赖打包进可执行Jar:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <!-- 包含system scope的依赖 -->
                <includeSystemScope>true</includeSystemScope>
            </configuration>
        </plugin>
    </plugins>
</build>

重新执行clean install打包,生成的Jar会包含本地依赖,即可正常启动。

方案二:将本地Jar安装到本地Maven仓库(推荐)

这种方式更符合Maven依赖管理规范,避免system scope带来的路径依赖问题:

  1. 执行Maven命令将本地Jar安装到本地仓库:
mvn install:install-file -Dfile=/path/to/your/vzbiicommon-3.0.jar -DgroupId=vzbiicommon -DartifactId=vzbiicommon -Dversion=3.0 -Dpackaging=jar
  1. 修改依赖配置,去掉system和systemPath,使用普通依赖引入:
<dependency>
    <groupId>vzbiicommon</groupId>
    <artifactId>vzbiicommon</artifactId>
    <version>3.0</version>
    <exclusions>
        <exclusion>
            <groupId>xbean</groupId>
            <artifactId>xbean</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </exclusion>
    </exclusions>
</dependency>

重新打包后,Maven会自动处理该依赖的传递依赖,生成的Jar可正常启动,同时依赖管理更规范。

内容的提问来源于stack exchange,提问作者Geo Thomas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 18:12:31