Spring Boot 打成的 jar 和普通的 jar 有什么区别 ?

编程知识 更新时间:2023-04-05 04:21:30

Spring Boot 打成的 jar 和普通的 jar 有什么区别 ?

Spring Boot 打成的 jar

  • Spring Boot的项目终止以jar包的形式进行打包,这种jar包可以通过可以通过命令(java -jar xxx.jar)来运行的,这种jar包不能被其他项目所依赖,即使被依赖了也不能直接使用其中的类。普通的jar包,解压后直接就是包名,包里就是我们的代码,而 Spring Boot 打包成的可执行 jar 解压后,在 \BOOT-INF\classes 目录下才是我们的代码,因此无法被直接引用。如果非要引用,可以在 pom.xml 文件中增加配置,将 Spring Boot 项目打包成两个 jar ,一个可执行,一个可引用。
    下面是不同jar包的目录结构
  • Spring boot 的jar包

  • 普通的jar包

Spring Boot 打可依赖的jar

只需要在pom文件中配置如下信息

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <!--可以把依赖的包都打包到生成的Jar包中 -->
                            <goal>repackage</goal>
                        </goals>
                        <!--可以生成不含依赖包的不可执行Jar包 -->
                        <configuration>
                            <classifier>exec</classifier>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • 一次打包生成两个jar包,其中XXX.jar可作为其它工程的依赖,XXX-exec.jar可被执行

  • 我们看一下目录结构 是否是我们所希望的。

可执行的jar

可依赖的jar包

备注

  • 查看jar的结构工具,可参看 http://java-decompiler.github.io/

结束

  • 相信小伙伴对Spring Boot jar 和普通的jar有一定的了解,希望本文可以帮助到你。
  • 如果文章有帮助到你欢迎关注微信公众号《后端学长》

更多推荐

Spring Boot 打成的 jar 和普通的 jar 有什么区别 ?

本文发布于:2023-04-05 04:21:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/d0c7b459367be4f8af9dbdb74a1cd50b.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:有什么区别   Spring   Boot   jar

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 44746文章数
  • 14阅读数
  • 0评论数