有专门做ppt的网站,橱柜衣柜做网站,社交网站推广怎么做,西城广州网站建设在Spring Boot项目中#xff0c;通过Maven插件的配置#xff0c;我们可以定制项目的打包过程#xff0c;将依赖项抽取到指定的lib目录中。本文将演示如何使用Spring Boot Maven Plugin进行项目打包#xff0c;同时抽取依赖项到lib目录#xff0c;并提供相应的启动命令。
…在Spring Boot项目中通过Maven插件的配置我们可以定制项目的打包过程将依赖项抽取到指定的lib目录中。本文将演示如何使用Spring Boot Maven Plugin进行项目打包同时抽取依赖项到lib目录并提供相应的启动命令。
1. 配置Spring Boot Maven Plugin
首先在项目的pom.xml文件中修改Spring Boot Maven Plugin的配置以适应项目的需求。
buildplugins!-- Spring Boot Maven Plugin配置 --plugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfiguration!-- 项目的启动类 --mainClasscom.org.testDemo/mainClass!-- 解决windows命令行窗口中文乱码 --jvmArguments-Dfile.encodingUTF-8/jvmArgumentslayoutZIP/layout!-- 配置需要打包进项目的jar 编写代码更改比较频繁的模块--includesincludegroupIdnon-exists/groupIdartifactIdnon-exists/artifactId/include/includes!-- 如需排除lombok--excludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludes/configurationexecutionsexecutiongoalsgoalrepackage/goal/goals/execution/executions/plugin!-- 此插件用于将依赖包抽出 --plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-dependency-plugin/artifactIdexecutionsexecutionidcopy-dependencies/idphasepackage/phasegoalsgoalcopy-dependencies/goal/goalsconfigurationoutputDirectory${project.build.directory}/lib/outputDirectoryexcludeTransitivefalse/excludeTransitivestripVersionfalse/stripVersionincludeScoperuntime/includeScope/configuration/execution/executions/plugin!-- 此插件用于创建lib目录 --plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-antrun-plugin/artifactIdversion1.8/versionexecutionsexecutionidcreate-lib-directory/idphaseinitialize/phasegoalsgoalrun/goal/goalsconfigurationtasksmkdir dir${project.basedir}/lib//tasks/configuration/execution/executions/plugin/plugins
/build2. 执行打包命令
使用以下Maven命令进行打包
mvn clean package打包完成后你将在target目录下得到一个testDemo.jar文件和lib目录其中lib目录中包含了所有的三方依赖。
3. 启动命令
使用以下命令启动项目
java -jar -Dloader.pathlib testDemo.jar通过以上步骤你成功地将Spring Boot项目打包并将三方依赖以及项目本身打包成一个可执行的JAR文件同时将依赖抽取到与JAR同级的lib目录。启动命令中的-Dloader.pathlib指定了加载依赖项的路径确保项目能够正确加载lib目录下的所有依赖。这样的部署方式既方便管理依赖又使得项目的启动和部署更加清晰。