Maven引入本地jar包,解决打包时找不到本地jar包

标题有点绕,但搜到这个问题就应该都明白。
引入本地jar包:

<dependency>
            <groupId>local-sdk</groupId>
            <artifactId>test</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/local-sdk-1.0.0.jar</systemPath>
</dependency>

其中,${project.basedir} = ${basedir},两者是完全一致的,都是maven的内置属性。

然后会发现,代码不报红了,说明jar包已经引入。
但是,在执行maven编译时,又会报错说找不到这两个包。
解决方案:
一、适用于springboot
重点就 < includeSystemScope > true </ includeSystemScope>这句。

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>
        </plugins>
 </build>

下面几种方法都是求解时碰到的答案,没用过,只是提供一个搜索的key
二、自己搭个maven私服
三、maven安装jar包到本地仓(或服务器安装到服务器的maven本地仓),然后依赖按照正常的方式导入即可。
四、通过各种maven插件

如果在使用 Maven 引入本地 jar,出现了类似 "should not point at files within the project directory" 的异常提示,这通常是因为在 `pom.xml` 文件中使用了错误的 `<systemPath>`。 为了解决这个问题,你可以尝试以下步骤: 1. 将本地 jar 包安装到本地 Maven 仓库中,使用以下命令: ``` mvn install:install-file -Dfile=<path-to-jar> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging> ``` 2. 在你的 Maven 项目的 `pom.xml` 文件中添加以下依赖项: ```xml <dependency> <groupId><group-id></groupId> <artifactId><artifact-id></artifactId> <version><version></version> <scope>system</scope> <systemPath>${project.basedir}/lib/<jar-filename></systemPath> </dependency> ``` 其中,`<group-id>`、`<artifact-id>` 和 `<version>` 必须与你在之前安装 jar指定的 Maven 坐标相同。`<jar-filename>` 是本地 jar 文件的文件名。 注意,这里的 `<systemPath>` 元素必须指向 `lib` 目录下的本地 jar 文件,而不是你的项目目录中的 jar 文件。因此,使用 `${project.basedir}` 变量来指向项目的基础目录,然后再将 `lib/<jar-filename>` 添加到路径中。 3. 在命令行中执行 `mvn clean install` 命令,重新打包你的 Maven 项目。 如果一切顺利,你应该能够成功引入本地 jar 包,并且在打包不会出现 "should not point at files within the project directory" 的异常提示。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值