当前位置: 首页 > article >正文

maven本地打包依赖无法引用

描述:写了一个RPC的starter包

执行命令后

mvn install

点击引入依赖无反应

手动输入对应的包显示找不到,但是在Maven可以找到

问题在于pom.xml文件,正常打包的maven文件应该可以显示出来,但是由于未删除spring-boot-maven-plugin。

spring-boot-maven-plugin 主要用于 Spring Boot 可执行 JAR(fat jar) 的打包和启动,它会将所有依赖合并到一个 JAR 文件中,并生成 META-INF/MANIFEST.MF,使得 java -jar xxx.jar 可以直接运行。

Spring Boot Starter(即 starter 依赖)只是一个 普通的依赖库(library JAR),它不需要也不应该是 可执行 JAR

原来的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">

    <!-- Project Descriptor -->
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.heartunderblade</groupId>
    <artifactId>starter</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>heartunderblade-rpc-springboot-starter</name>
    <description>Spring Boot Starter for Heartunderblade RPC</description>

    <!-- Properties Section -->
    <properties>
        <java.version>17</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.6.13</spring-boot.version>
    </properties>

    <!-- Dependencies Section -->
    <dependencies>
        <!-- Spring Boot Starter -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <!-- Configuration Processor (for @ConfigurationProperties) -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

        <!-- Custom Heartunderblade RPC Core -->
        <dependency>
            <groupId>com.heartunderblade.rpc</groupId>
            <artifactId>heartunderblade-rpc-core</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <!-- Spring Boot Testing -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <!-- Dependency Management Section -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!-- Build Section -->
    <build>
        <plugins>
            <!-- Compiler Plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.10.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>

            <!-- Spring Boot Maven Plugin -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <!-- Repositories (if needed for custom dependencies) -->
    <repositories>
        <repository>
            <id>central</id>
            <url>https://repo.maven.apache.org/maven2</url>
        </repository>
        <repository>
            <id>snapshot-repo</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
</project>

移除后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">

    <!-- Project Descriptor -->
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.heartunderblade</groupId>
    <artifactId>starter</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>heartunderblade-rpc-springboot-starter</name>
    <description>Spring Boot Starter for Heartunderblade RPC</description>

    <!-- Properties Section -->
    <properties>
        <java.version>17</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.6.13</spring-boot.version>
    </properties>

    <!-- Dependencies Section -->
    <dependencies>
        <!-- Spring Boot Starter -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <!-- Configuration Processor (for @ConfigurationProperties) -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

        <!-- Custom Heartunderblade RPC Core -->
        <dependency>
            <groupId>com.heartunderblade.rpc</groupId>
            <artifactId>heartunderblade-rpc-core</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <!-- Spring Boot Testing -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <!-- Dependency Management Section -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!-- Build Section -->
    <build>
        <plugins>
            <!-- Compiler Plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.10.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <!-- Repositories (if needed for custom dependencies) -->
    <repositories>
        <repository>
            <id>central</id>
            <url>https://repo.maven.apache.org/maven2</url>
        </repository>
        <repository>
            <id>snapshot-repo</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
</project>

再重新执行mvn install即可成功引入


http://www.kler.cn/a/533889.html

相关文章:

  • 如何利用i18n实现国际化
  • C++ 入门速通-第5章【黑马】
  • 105,【5】buuctf web [BJDCTF2020]Easy MD5
  • (dpdk f-stack)-堆栈溢出-野指针-内存泄露(问题定位)
  • 从 0 到 1 构建数仓之DWD层
  • Android 使用ExpandableListView时,需要注意哪些细节
  • 基于微信小程序的培训机构客户管理系统设计与实现(LW+源码+讲解)
  • 动态规划——斐波那契数列模型问题
  • Java 进阶 01 —— 5 分钟回顾一下 Java 基础知识
  • 【华为OD-E卷 - 107 连续出牌数量 100分(python、java、c++、js、c)】
  • 使用 Deepseek AI 制作视频的完整教程
  • 神经网络常见激活函数 2-tanh函数(双曲正切)
  • 63.网页请求与按钮禁用 C#例子 WPF例子
  • 低代码系统-产品架构案例介绍、蓝凌(十三)
  • 4.PPT:日月潭景点介绍【18】
  • Python爬虫实战:一键采集电商数据,掌握市场动态!
  • MySQL 索引原理
  • 昆工昆明理工大学材料25调剂名额
  • [CMake]报错: Qt requires a C++17 compiler
  • 【starrocks学习】之将starrocks表同步到hive
  • 机器学习8-卷积和卷积核
  • Java进阶,集合,Colllection,常见数据结构
  • Spring Boot Actuator与JMX集成实战
  • Java 面试合集(2024版)
  • java后端开发面试常问
  • R分析|稀有or丰富,群落物种六级分类鉴别稀有和丰富物种:Excel中简单实现