maven打包有三种方式 pom、jar、war。在pom.xml 文件中声明的方式分别如下:
pom `
jar
war
以上三种打包方式不同出现在同一个 pom 文件中。
pom:用在父级工程或聚合工程中,必须指明打包方式为pom。子module可继承父工程依赖。
jar:工程的默认打包方式。
war:将会打包成war。
maven-jar-plugin
maven-shade-plugin
maven-assembly-plugin
spring-boot-maven-plugin
Spring Boot 中默认打包成可执行 jar ,可以通过 java -jar xxx.jar 命令执行但是不可以被其他的应用所依赖。普通的 jar 不可以通过 java -jar xxx.jar 命令执行,普通的 jar 主要是被其他应用或模块依赖。
org.springframework.boot
spring-boot-maven-plugin
如上springboot引导程序生成的pom.xml文件中默认的maven插件,其打包的Jar包可以直接运行,但是不可依赖!
如果子模块被打包成可运行 jar 包则 SpringBoot 项目编译运行时提示“程序包xxx不存在,找不到符号”错误。我们可以通过标签在打包的时候生成普通jar包和可执行jar包,修改如下:
org.springframework.boot
spring-boot-maven-plugin
exec
或者通过标签在打包的时候生成普通jar包,修改如下:
org.springframework.boot
spring-boot-maven-plugin
true
---- 作者:快乐随行 著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明原文作者及出处。 许可: CC BY-SA 4.0 ----
登录查看全部
参与评论
手机查看
返回顶部