文档章节

maven添加本地jar包

独钓渔
 独钓渔
发布于 2017/04/13 11:17
字数 341
阅读 246
收藏 0

maven添加本地jar包有4种方式

0: 打如到war包

<build>
        <pluginManagement>
            <plugins>
                <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-war-plugin</artifactId>
                        <configuration>
                         <warName>test</warName>
                            <webResources>
                                <resource>
                                    <directory>${project.basedir}/lib</directory>
                                    <targetPath>WEB-INF/lib</targetPath>
                                    <includes>
                                        <include>**/*.jar</include>
                                    </includes>
                                </resource>
                            </webResources>
                        </configuration>
                 </plugin>
            </plugins>    
        </pluginManagement>
    </build>

1: 使用scope为system

<dependency>
      <groupId>org.richard</groupId>
      <artifactId>my-jar</artifactId>
      <version>1.0</version>
      <scope>system</scope>
      <systemPath>${project.basedir}/lib/my-jar.jar</systemPath>
</dependency>

 

使用scope为system引入时:

如果使用jar-with-dependencies打包时将不会被包含,可以使用resources将本地包打进jar-with-dependencies

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
              </descriptorRefs>
              <finalName>xxx-jar-with-dependencies</finalName>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
     <resources>
      <resource>
        <targetPath>lib/</targetPath>
        <directory>lib/</directory>
        <includes>
          <include>**/my-jar.jar</include>
        </includes>
      </resource>
    </resources>
</build>

 

2: 将外部的jar 打包到本地maven库

mvn install:install-file -Dfile=<path-to-file> -DpomFile=<path-to-pomfile>
mvn install:install-file -Dfile=cloud.jar -DgroupId=com.hope.cloud -DartifactId=cloud -Dversion=1.0 -Dpackaging=jar

然后使用就和普通的一样了,直接在pom.xml中添加就可以了

<dependency>
    <groupId>com.hope.cloud</groupId>
    <artifactId>cloud</artifactId>
    <version>1.0</version>
</dependency>

 

3: 编译阶段指定外部lib

<plugin>
     <artifactId>maven-compiler-plugin</artifactId>
     <version>2.3.2</version>
     <configuration>
     <source>1.8</source>
     <target>1.8</target>
     <encoding>UTF-8</encoding>
     <compilerArguments>
     <extdirs>lib</extdirs><!--指定外部lib-->
     </compilerArguments>
     </configuration>
</plugin>

 

4: 添加 in project repository

<repository>
    <id>in-project</id>
    <name>In Project Repo</name>
    <url>file://${project.basedir}/lib</url>
</repository>


<dependency>
    <groupId>org.richard</groupId>
    <artifactId>my-jar</artifactId>
    <version>1.0</version>
</dependency>

你的jar包及路径必须严格遵循格式:

/groupId/artifactId/version/artifactId-verion.jar

本例中: lib/org/richard/my-jar/1.0/my-jar-1.0.jar

 

© 著作权归作者所有

独钓渔
粉丝 48
博文 408
码字总数 157886
作品 0
沙坪坝
系统管理员
私信 提问

暂无文章

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
6
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部