Maven引用自定义jar包方式

目录
  • Maven引用自定义jar包
    • 概述
    • 导入jar
    • 在pom中引入依赖
    • 加入maven-dependency-plugin插件
    • 环境说明
  • 自定义jar包发布到自己指定maven本地仓库
    • ①我要上传的jar包为:ipdatabase-1.0.jar
    • ②找到本地安装maven
    • ③在项目中引用

Maven引用自定义jar包

概述

在项目中用了一个在Maven中央仓库没有的第三方jar包,Maven中该如何依赖呢?

如果引入不好,启动项目时会报:

java.lang.ClassNotFoundException异常

导入jar

在项目src目录同级的目录下,新建lib目录,然后把jar包拖到这个目录里面

在pom中引入依赖

<dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on-154</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${pom.basedir}/lib/bcprov-jdk15on-154.jar</systemPath>
        </dependency>
  • version是自定义的
  • groupId是根据jar包种的包层次写的
  • artifactId我直接用的jar包的名称

加入maven-dependency-plugin插件

     <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory>
                            <includeScope>system</includeScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

打包后,在打好的jar包中,到/WEB-INF/lib目录,可以看到bcprov-jdk15on-154.jar 已经被打进去了。

环境说明

  • maven版本:Apache Maven 3.3.9
  • Java version: 1.7.0_80
  • OS name: “mac os x”, version: “10.13.3”

自定义jar包发布到自己指定maven本地仓库

使用maven构建项目需要在项目中引入自定义的一些包,也像maven一样在工程的pom.xml中引入相应的坐标,这时候我们就要自己把包上传到本地仓库,以下就来演示如何操作:

①我要上传的jar包为:ipdatabase-1.0.jar

②找到本地安装maven

的位置的bin目录输入cmd进入到命令行 输入 如下面命令,敲击回车开始执行:

mvn install:install-file -Dfile=C:\Users\zhangsf\Desktop\ipdatabase.jar -DgroupId=zhang.jar -DartifactId=ipdatabase -Dversion=1.0 -Dpackaging=jar

成功的标识

需要注意一点的就是需要在用户的.m2目录之下放置一份 setting.xml,不然就会将jar包打包到本地的默认仓库里面

③在项目中引用

        <dependency>
            <groupId>zhang.jar</groupId>
            <artifactId>ipdatabase</artifactId>
            <version>1.0</version>
        </dependency>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • maven项目引用外部jar包的方法

    问题描述: 有一个java maven web项目,需要引入一个第三方包gdal.jar,但是这个包是自己打包的,在maven中央库里面找不到该包,因此我采用传统的方式,将这个包拷贝到:项目名称\src\main\webapp\WEB-INF\lib的目录下,然后通过config build path将该gdal.jar包引入到项目工程中.对于传统java web项目,这么做当然没有问题,但是对于maven项目,项目打包(mvn install)时就会报错,在项目调试时(debug on ser

  • maven项目如何依赖自定jar包

    这篇文章主要介绍了maven项目如何依赖自定jar包,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在开发中经常会出现maven项目需要依赖一个自定义jar包,但是这个jar包并没有在maven仓库中,就会出现打包时找不到jar包的问题,解决办法如下: 在这个模块中,lib下的jar包是我自己定义的,maven仓库中并没有,在pom文件中添加jar包时,做以下处理 这样打包时就能找到包的位置了 以上就是本文的全部内容,希望对大家的学习有所帮助,

  • Maven设置使用自定义的jar包到自己本地仓库

    maven设置使用自定义的jar包到自己在Maven框架里,查找依赖包的顺序: 1.先在本地仓库找,有就返回,没有继续第二步: 2.到中央仓库 http://search.maven.org/ 找,有就返回,没有继续第三步: 3.在 Maven 远程仓库搜索,远程仓库,就的自己在pom文件设置. 如何在Local Repository(本地仓库)设定自行开发的Jar包 首先,找到Local Repository(本地仓库)的位置, 默认在C:\Users\King\.m2\repository,

  • Maven引用自定义jar包方式

    目录 Maven引用自定义jar包 概述 导入jar 在pom中引入依赖 加入maven-dependency-plugin插件 环境说明 自定义jar包发布到自己指定maven本地仓库 ①我要上传的jar包为:ipdatabase-1.0.jar ②找到本地安装maven ③在项目中引用 Maven引用自定义jar包 概述 在项目中用了一个在Maven中央仓库没有的第三方jar包,Maven中该如何依赖呢? 如果引入不好,启动项目时会报: java.lang.ClassNotFoundExce

  • 图文详解Maven工程打jar包的N种方式

    目录 一.IDEA自带打包插件 二.maven插件打包 2.1 制作瘦包(直接打包,不打包依赖包) 2.2 制作瘦包和依赖包(相互分离) 2.3 制作胖包(项目依赖包和项目打为一个包) 2.4 制作胖包(transform部分自定义) 三.SpringBoot项目打包 四.Scala项目打包 五.groovy项目打包 总结 一.IDEA自带打包插件 内容:此种方式可以自己选择制作胖包或者瘦包,但推荐此种方式制作瘦包. 输出:输出目录在out目录下 流程步骤: 第一步: 依次选择 file->pr

  • IDEA对使用了第三方依赖jar包的非Maven项目打jar包的问题(图文详解)

    前言: 最近,遇到了一个问题,都快把我整疯了:这个问题开始是由 使用IDEA 对 非Maven项目进行打 Jar 包 引起的:本来就是想简简单单的打个 jar 包,并将使用的第三方依赖 jar 包打进去,但是问题就出现在了项目中依赖的第三方 jar 包( bcprov-jdk15on-1.54.jar )存在签名,那在打包过程中会把 签名 破坏掉,导致在使用打好的jar包时报错: JCE cannot authenticate the provider BC . 注意:如果依赖的第三方jar包不

  • spring注解在自定义jar包中无法被扫描的解决方案

    spring注解在自定义jar包中无法被扫描 前两天,一朋友在开发的时候遇到了一个问题向我求助, service服务为第三方提供的服务里面有spring注解并将service 打成jar包中,使用maven引入. 使用new可以创建,但是使用autowire无法注入提示信息如下图 报错信息 这类问题在开发中一直是我们最不愿意看到的,乍一看,感觉挺对,还挺有道理.但是就是更想要的结果对不上. 我当时给出的判断autowire的类重名导致注入失败,建议用配合使用qualifier或者 使用resou

  • Maven导入本地jar包的实现步骤

    目录 1. 在本地maven仓库安装本地jar包 2.把本地jar包放在项目的某个目录中 3.使用scope system依赖 参考资料 软件项目管理和发布工具Maven给java的开发带来了很多的方便.需要引用其他jar包的时候只需要在pom.xml添加相关的依赖,maven就会自动解析依赖.下载jar包,更新jar包也只需要修改version字段,大大简化了jar包的引用.但是有时候我们要用的某几个包在maven上不存在,只能下载jar包到本地并添加到java项目中,然而问题随之而来:mav

  • maven中下载jar包源码和javadoc的命令介绍

    1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的达到这个目的: 复制代码 代码如下: mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc 命令使用方法:首先进入到相应的pom.xml目录中,然后执行以上命令: 第一个命令是尝试下载在pom.xml中依赖的文件的源代码

  • 详解IDEA中MAVEN项目打JAR包的简单方法

    Idea中为一般的非Web项目打Jar包是有自己的方法的,网上一搜就能查到很多. 但是如果是为Maven项目打Jar包,其实是很简单的,因为maven本身就有打Jar包的命令. 最简单的方法 首先是在maven项目的pom.xml中添加打包的插件,这里有很多种方式的.最最简单的就是只使用maven-compiler-plugin.maven-jar-plugin插件,并且指定程序入口<mainClass>.相关代码如下: pom.xml文件为: <?xml version="1

  • Android Studio 生成自定义jar包的步骤详解

    想要将一个项目导出为jar包,供其它项目使用,在eclipse中可以直接导出该项目为jar包,而 在AS中可以通过修改gradle才处理. 接下来就介绍下具体的步骤: 1.新建一个项目,项目名随意,eg:MakeJarApplication,在项目中新建一个module类型为android-library ,命名为testLibrary.如图: 项目结构图 2.让app依赖这个库,在app下的build.gradle文件中添加compile project(':testlibrary') dep

  • Java中Maven项目导出jar包配置的示例代码

    具体代码如下所示: <!-- 第一种打包方式 (maven-jar-plugin), 将依赖包和配置文件放到jar包外 --> <build> <sourceDirectory>src/main/java</sourceDirectory> <resources> <resource> <directory>src/main/resources</directory> <!-- 将<director

随机推荐