Spring Boot多模块项目引入外部JAR解决方案
解决使用
system 时JAR未被打包的问题
问题背景
在Spring Boot多模块项目中,使用
这会导致运行时出现ClassNotFoundException或NoClassDefFoundError等错误。
方案1
配置Spring Boot Maven插件
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <!-- 关键配置: 包含system作用域的依赖 -->
                <includeSystemScope>true</includeSystemScope>
            </configuration>
        </plugin>
    </plugins>
</build>
实施步骤
在父模块或启动模块的pom.xml中添加配置
重新执行mvn package
方案2
手动复制JAR到构建目录
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-lib</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.build.directory}/BOOT-INF/lib/</outputDirectory>
                        <resources>
                            <resource>
                                <directory>src/main/resources/lib</directory>
                                <includes>
                                    <include>*.jar</include>
                                </includes>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
实施步骤
将JAR文件放入src/main/resources/lib目录
在引入依赖的模块中添加配置
重新打包
方案3
将JAR安装到本地仓库
- 安装到Maven本地仓库
mvn install:install-file \
  -Dfile=src/main/resources/lib/reader.jar \
  -DgroupId=com.ruoyi \
  -DartifactId=ruoyi-lib \
  -Dversion=1.0.0 \  # 指定实际版本号
  -Dpackaging=jar
- 修改依赖配置
    <groupId>com.xxx</groupId>
    <artifactId>xxx-lib</artifactId>
    <version>1.0.0</version>
    <!-- 移除scope和systemPath -->
</dependency>
实施步骤
执行Maven安装命令
修改依赖配置
重新打包

偶做前堂客
祝你天天开心
在未知的时间
在未知的地点
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号