SpringBoot 基础项目打jar包供其他项目使用
一、背景
构建私有项目的jar包,只能核心人员开发,其他人员仅仅只能调用。任何脱离此jar包的项目都不能运行。
二、简要过程:
(1)A 项目修改默认SpringBoot打包插件为:maven打包插件。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source> <!--源码 Jdk 版本-->
<target>${java.version}</target> <!--打包后 Jdk 版本-->
</configuration>
</plugin>
<!-- <plugin>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-maven-plugin</artifactId>-->
<!-- </plugin>-->
</plugins>
</build>
(2)A项目中使用Maven打包。maven使用 clean 和 install 。
(3)B 项目在pom中引入JAR包依赖。
<!-- 引入a项目依赖 -->
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>a</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
说明:
- 多模块项目:一个项目中包含多个modules。
- 多项目:多个项目。
三、详细步骤:
1、创建A项目。
(1)打开idea。依次点击File->New->Project。

(2)选择Spring Initializr。Project SDK默认选择1.8,点击Next。

(3)依次填写 Group、Artifact、Java Version。之后点击Next。

(4)之后一直点Next,直到finish。


2、A项目构建Jar包
(1)删除A项目多余文件。
- .mvn文件夹
- mvnw、mvnw.cmd、.gitignore、HELP.md文件。
- src/test文件夹
- src/main/java/com.mycompany.a/下面的启动类AAplication.java
- src/main/java/resources/ 下的所有文件
最终a项目结构如下图:

(2)创建工具类 myCommon.java。
在 src/main/java/com.mycompany.a/下新建 myCommon.java。
内容如下:
package com.mycompany.a;
public class MyCommon {
public static void test () {
System.out.println(" ==> myCommon test!");
}
}
(参考图片)

(3)修改pom.xml文件。
由于初始化项目的pom文件是使用springboot自带的打包插件。其他项目调用会报错(原因见文末的参考博客)。需要改为maven的打包插件。
仅仅修改<build>标签下的plugin。
(pom.xml文件内容)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.mycompany</groupId>
<artifactId>a</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>a</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source> <!--源码 Jdk 版本-->
<target>${java.version}</target> <!--打包后 Jdk 版本-->
</configuration>
</plugin>
<!-- <plugin>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-maven-plugin</artifactId>-->
<!-- </plugin>-->
</plugins>
</build>
</project>
(参考图片)

(3)构建 Jar 包。
- 1、点击右侧 maven。
- 2、点击左上角刷新(Reimport)
- 3、选中 clean、install
- 4、点击开始(Run)。
(参考图片)


(4)打包成功信息。

3、创建 B 项目(同步骤1)





4、B项目使用Jar包
(1)修改POM文件引入A项目依赖。
这里的A项目依赖信息就是创建A项目时的groupId、artifactId、version。可以去步骤1看看。
(pom文件代码)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.mycompany</groupId>
<artifactId>b</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>b</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- 引入a项目依赖 -->
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>a</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
(参考图片)

(2)点击右侧的maven引入。
- 打开maven
- 点击刷新 (Reimport)


(3)测试结果。
在启动类中调用Jar包中的类。
(src/main/java/com.mycompany.b/BApplication.java文件内容)
package com.mycompany.b;
import com.mycompany.a.MyCommon;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class BApplication {
public static void main(String[] args) {
SpringApplication.run(BApplication.class, args);
// JAR 包中的方法
MyCommon.test();
}
}
(结果截图)

本文详细介绍了如何将一个SpringBoot项目打包成jar,并在其他项目中进行引用。首先,修改A项目的pom.xml,将默认的SpringBoot打包插件替换为Maven打包插件,然后删除不必要的文件,创建一个工具类并编写测试方法。接着,通过Maven的clean和install命令构建jar包。最后,在B项目中引入A项目的依赖,完成调用。整个过程旨在实现私有jar包的开发与使用。
4405

被折叠的 条评论
为什么被折叠?



