最近项目要做一个Minio分块上传的功能,做好之后其他项目也想直接复用这个功能,参考了一些资料,总结如下。

1. 不能使用springboot默认的打包方式,所以我们需要把pom文件里面的这个换成Apache-maven

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source> <!--指明源码用的Jdk版本-->
                    <target>1.8</target> <!--指明打包后的Jdk版本-->
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <!--打包时需要被排除的文件-->
                    <exclude>application.yml</exclude>
                </excludes>
            </resource>
        </resources>
    </build>

2. 剔除要引入的springboot项目中不需要的文件:如Application和ApplicationTests等。

3. 打包时要剔除application.yml等文件

4. 打包后自动配置(Spring发现)原有的bean的解决方案,有好几种解决方案,这里提供一种,具体原理可参考文末参考文档。这里只做如何实现。

项目目录如下,编写一个配置类用于指定需要扫描的beans有哪些

 

再编写对应的注解用于启用该配置类,之后就可以再需要使用该jar包的springboot项目中通过该注解实现自动装配了。

 先clean 之后 点击 package 即可生成如下的jar包

在新项目中导入该jar包即可使用

在新项目的启动类上加上@EnableMinioUpload 注解 即可实现 该Jar包的自动装配

 对于该jar包的application.yml文件 在打包时被我们排除在外了,此时可直接在新项目的application.yml中配置该jar包的资源信息

参考:

(1条消息) spring boot项目打jar包,其他项目调用_谁是我的程序媛?的博客-CSDN博客https://blog.csdn.net/qq_40572200/article/details/121247118?spm=1001.2101.3001.6650.17&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17.pc_relevant_paycolumn_v3&utm_relevant_index=25

(1条消息) SpringBoot项目打jar包供别的项目调用问题_魅落-妖的博客-CSDN博客_springboot项目打成jar包给别人使用https://blog.csdn.net/weixin_38903248/article/details/90445216?spm=1001.2101.3001.6650.14&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-14.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-14.pc_relevant_default&utm_relevant_index=16

(1条消息) 【springboot】如何在自己的springboot项目中引用别的springboot项目jar_老汉健身的博客-CSDN博客_springboot引用https://blog.csdn.net/lovexiaotaozi/article/details/83576904

(1条消息) JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案_放错位的天才的博客-CSDN博客https://blog.csdn.net/weixin_30825199/article/details/95583415?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0.pc_relevant_aa&spm=1001.2101.3001.4242.1&utm_relevant_index=3

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐