当前位置: 首页>编程语言>正文

Maven 项目中引入本地 jar 包

因为在自己公司私服上有一些包,但是项目需要交付给别人使用的情况下,需要引入本地的 jar,而且要求打包时将这些本地 jar 一起打包。

Maven 项目中引入本地 jar 包的常用方式
1. 将 jar 打包到本地 Maven 仓库
mvn install:install-file -Dfile=D://xxx.jar -DgroupId=com.xxx -DartifactId=xxx -Dversion=0.0.1 -Dpackaging=jar

也可以使用idea的maven插件install来进行打包

Maven 项目中引入本地 jar 包,Maven 项目中引入本地 jar 包_java,第1张

 不同的是 install 之后,依赖只存在本地的 Maven 仓库中,如果别的机器想使用这个依赖,还是需要运行上面的命令

2. IDE 引入(不推荐使用,项目打包发布,不会打包这个jar包)

例如我使用 IDEA,我直接在 Project Structure -> Liberies 中增加 jar 路径。

这种方式在开发时没问题,但是使用 Maven 打包时并不会包含这些 jar

3. 利用 pom 文件的 scope 属性(推荐)

将要引用的本地 jar 都放在项目的 lib 目录中,然后在 pom 文件中引入

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>
         </plugins>
 </build>

            <groupId> :公司或组织的 id,即公司或组织域名的倒序,通常也会加上项目名称

            <artifactId>:一个项目或者是项目中的一个模块的 id
            <version>:版本号
            <scope>system</scope> : 不要改
            <systemPath>:包的相对路经的地址信息:

${pom.basedir}:表示 pom 文件的目录

然后在 plugin 中,加入

<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <configuration>
    //是否包括引入的包
      <includeSystemScope>true</includeSystemScope>
  </configuration>
</plugin>

https://www.xamrdz.com/lan/59x1963860.html

相关文章: