上一篇文章介绍了:SpringBoot创建的jar包怎么作为依赖提供给第三方

狗血的问题又被我遇到了,我自己新建了个项目,引用我自己打包的依赖。然后通过本地导包的方式引入到项目里面,结果在IDEA里面运行很正常,但是项目打包成jar以后,运行jar报错。检查发现我那个本地依赖的jar包没有被打包进新项目的BOOT-INF目录下的lib文件夹里面,但是通过maven在线导入的第三方依赖全在里面。这不是造孽嘛!我自己失败了几次,也没有合适的方法。结果机缘巧合之下,发现了同病相怜的人啊。

实现步骤:
1.在项目里跟src同一级创建目录lib(一开始就是普通文件夹,配置完后面会变成资源文件夹[显示四个橙色的横杠])。
2.在工具栏里的file(文件)选项下依次选中project structure(项目结构)——>librarier(库)——> +(新建项目库)——>Java——>(在本地找到你的项目下面的lib文件夹)——>OK(确定)——>Jar Directory(选择所选文件夹的类别)——>后面都是OK(确定),就完成了。
3.在你项目的pom.xml下面找到<build>标签,然后把下面的配置粘贴到里面就行了。

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--设置为true,把本地的system类型jar打包进去。-->
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>
        </plugins>
        <!--引入本地资源-->
        <resources>
            <!-- 本地第三方依赖包打包进项目 -->
            <resource>
                <directory>lib</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
            <!-- 本地自定义配置打包进项目 -->
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*</include>
                </includes>
            </resource>
        </resources>

4.在你项目的pom.xml下面找到<dependencies>标签,然后把下面的配置粘贴到里面就行了。

        <dependency>
            <groupId>com.demo</groupId>
            <artifactId>DEMO</artifactId>
            <version>0.0.1</version>
            <type>jar</type>
            <scope>system</scope>
            <systemPath>${basedir}/lib/demo-jar-0.0.1-SNAPSHOT-lib.jar</systemPath>
        </dependency>

5.然后把你本地的第三方依赖都复制到lib目录下面,项目打包的时候就能把这些jar包都打包进去了。

最后修改:2023 年 12 月 06 日
给我一点小钱钱也很高兴啦!o(* ̄▽ ̄*)ブ