赞
踩
在Spring Boot项目中,通过Maven插件的配置,我们可以定制项目的打包过程,将依赖项抽取到指定的lib
目录中。本文将演示如何使用Spring Boot Maven Plugin进行项目打包,同时抽取依赖项到lib
目录,并提供相应的启动命令。
首先,在项目的pom.xml
文件中,修改Spring Boot Maven Plugin的配置以适应项目的需求。
<build> <plugins> <!-- Spring Boot Maven Plugin配置 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- 项目的启动类 --> <mainClass>com.org.testDemo</mainClass> <!-- 解决windows命令行窗口中文乱码 --> <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments> <layout>ZIP</layout> <!-- 配置需要打包进项目的jar 编写代码更改比较频繁的模块--> <includes> <include> <groupId>non-exists</groupId> <artifactId>non-exists</artifactId> </include> </includes> <!-- 如需,排除lombok--> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <!-- 此插件用于将依赖包抽出 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> <excludeTransitive>false</excludeTransitive> <stripVersion>false</stripVersion> <includeScope>runtime</includeScope> </configuration> </execution> </executions> </plugin> <!-- 此插件用于创建lib目录 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.8</version> <executions> <execution> <id>create-lib-directory</id> <phase>initialize</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <mkdir dir="${project.basedir}/lib"/> </tasks> </configuration> </execution> </executions> </plugin> </plugins> </build>
使用以下Maven命令进行打包:
mvn clean package
打包完成后,你将在target
目录下得到一个testDemo.jar文件和lib目录,其中lib
目录中包含了所有的三方依赖。
使用以下命令启动项目:
java -jar -Dloader.path=lib testDemo.jar
通过以上步骤,你成功地将Spring Boot项目打包,并将三方依赖以及项目本身打包成一个可执行的JAR文件,同时将依赖抽取到与JAR同级的lib
目录。启动命令中的-Dloader.path=lib
指定了加载依赖项的路径,确保项目能够正确加载lib
目录下的所有依赖。这样的部署方式既方便管理依赖,又使得项目的启动和部署更加清晰。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。