Maven构建引入本地jar包

需求:maven项目需要引入本地一个jar包。并且打包后需要把该文件引入依赖。打包使用了maven-assembly插件,更加细粒度的打包控制

比如项目目录下有lib/my-dep.jar
  1. 将jar包引入pom.xml
        <dependency>
            <groupId>my-dep</groupId>
            <artifactId>my-dep</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${basedir}/lib/my-dep.jar</systemPath>
        </dependency>

scope 为system。此时必须提供systemPath即本地依赖路径。表示maven不会去中央仓库查找依赖。要注意的是这个范围是不推荐使用的,whatever, who care?

  1. 将jar包加入classpth,同样在pom.xml
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.albert.Application</mainClass>
                            <classpathPrefix>lib/</classpathPrefix>
                            <addClasspath>true</addClasspath>
                        </manifest>
                        <manifestEntries>
                            <!-- 在Class-Path下添加配置文件的路径 -->
                            <Class-Path>lib/my-dep-1.0.jar</Class-Path>         
                            <!--这里表示jar路径加入到MANIFEST.MF-->              
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
  1. 打包时把my-dep.jar一并打包到lib。在assembly的xml文件中,表示把pom范围是system的依赖也打包到lib目录
        <dependencySet>
            <outputDirectory>/lib</outputDirectory>
            <unpack>false</unpack>
            <scope>system</scope>
        </dependencySet>
    原文作者:蓝山牧童
    原文地址: https://www.jianshu.com/p/8dccf87f43dd
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞