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.outputEnco
<think>好的,我需要帮助用户了解如何使用Maven本地项目进行打包,特别是使用mvn package命令。首先,我需要确认用户的需求是什么。他们可能有一个本地Maven项目,想要生成可执行的JAR或WAR文件。接下来,我得整理出步骤,并确保每个步骤都清晰易懂。 用户提供的引用内容中提到了一些关键点,比如默认执行test命令的问题,解决方法是通过配置maven-surefire-plugin来跳过测试。另外,引用中还提到了在Eclipse中使用Maven打包,以及如何通过命令行执行mvn package。这些信息需要整合到回答中。 首先,我应该列出使用mvn package的基本步骤,确保用户了解前提条件,比如安装Maven和正确配置pom.xml文件。然后,详细说明如何运行命令,可能遇到的问题比如测试失败,以及如何跳过测试。此外,用户可能需要知道如何在IDE中操作,比如Eclipse,所以需要含相关步骤。 还要注意引用中的配置文件示例,正确展示如何跳过测试。同时,用户可能对输出文件的位置和类型有疑问,需要说明target目录下的生成文件。最后,生成相关问题,帮助用户深入理解,比如性能优化、跳过测试的其他方法,以及处理依赖问题。 需要确保回答结构清晰,分步骤说明,引用正确的信息源,并在适当的位置添加引用标识。同时,语言要简洁明了,避免技术术语过于复杂,让新手也能理解。检查是否有遗漏的步骤,比如项目结构是否符合Maven标准,是否需要先执行clean等。最后,验证提供的命令和配置是否正确,避免误导用户。</think>### 如何使用Maven本地项目进行打包 以下是使用`mvn package`命令打包本地Maven项目的详细步骤: #### 1. 前置条件 - 确保已安装Maven并配置环境变量(通过`mvn -v`验证)[^3]。 - 项目需符合Maven标准结构(含`pom.xml`文件)。 #### 2. 基础打包命令 在项目根目录(含`pom.xml`的目录)执行: ```bash mvn package ``` 此命令会执行编译、测试(默认)并生成构建产物(如JAR/WAR)到`target/`目录[^3]。 #### 3. 跳过测试的打包方式 若需跳过测试以提高速度或避免失败: ```bash mvn package -DskipTests ``` 或在`pom.xml`中永久配置(引用自示例配置): ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.2</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> ``` [^1] #### 4. 清理旧构建产物 推荐先清理历史构建: ```bash mvn clean package ``` 这会删除`target/`目录后重新构建[^2]。 #### 5. 在IDE中执行(以Eclipse为例) 1. 右键项目 -> Run As -> Maven build 2. Goals输入框填写`clean package` 3. 后续可通过历史配置快速执行 #### 6. 构建产物说明 - Java项目:默认生成`项目名-版本.jar` - Web项目:生成WAR文件 - 具体路径:`target/`目录下[^3] #### 7. 高级用法 含测试报告的打包(需TestNG配置): ```bash mvn package -Dtestng.xml=testng.xml ``` 生成的可执行JAR可通过`java -jar target/xxx.jar`运行[^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值