概述
场景
在我们要将SpringBoot项目进行部署时,我们需要将其打包成jar包、war包等。但是我们会发现jar包或war包的目录结构有些问题,我们如何解决这个问题呢?
<!-- 用该插件打包目录结构有问题-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
原因
产生该问题的原因是spring-boot-maven-plugin对Maven插件的包装,在没有排除内嵌Tomcat的情况下,SpringBoot在对项目打包是会设置主程序属性。因此在我们不需要SpringBoot对我们的包包装的情况下,使用Maven本身打包即可。
解决方案
不使用spring-boot-maven-plugin,使用Maven本身的相关插件:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<!-- 配置自定义分隔符-->
<configuration>
<delimiters>
<delimiter>#</delimiter>
</delimiters>
<!--是否使用默认分隔符-->
<useDefaultDelimiters>true</useDefaultDelimiters>
</configuration>
</plugin>
<!--使用Maven本身编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<!-- 指定java 版本-->
<source>1.8</source>
<target>1.8</target>
<fork>true</fork>
<compilerArgs>
<!-- 解决编译是无法使用到JDK rt.jar包问题-->
<arg>-XDignore.symbol.file</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<!--如果想在没有web.xml文件的情况下构建WAR,请设置为false。 -->
<failOnMissingWebXml>true</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
最后
以上就是闪闪黑裤为你收集整理的SprngBoot项目之打包场景原因解决方案的全部内容,希望文章能够帮你解决SprngBoot项目之打包场景原因解决方案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复