SpringBoot 基础项目打jar包供其他项目使用

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

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();
    }

}

(结果截图)
在这里插入图片描述

四、参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值