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

目录
  • 1、 在本地maven仓库安装本地jar包
  • 2、把本地jar包放在项目的某个目录中
  • 3、使用scope system依赖
  • 参考资料

软件项目管理和发布工具Maven给java的开发带来了很多的方便。需要引用其他jar包的时候只需要在pom.xml添加相关的依赖,maven就会自动解析依赖、下载jar包,更新jar包也只需要修改version字段,大大简化了jar包的引用。但是有时候我们要用的某几个包在maven上不存在,只能下载jar包到本地并添加到java项目中,然而问题随之而来:maven只能打包pom.xml里面声明的依赖,不能识别本地jar包。本文介绍3种把本地jar包添加到pom.xml的方式。

1、 在本地maven仓库安装本地jar包

maven install可以把指定的文件安装到本地maven仓库(使用maven指令前需要安装apache maven)。有三种install方式:

(1)mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

指定jar包、groupid、artifactId和version,maven会自动生成相应的pom.xml文件。

(2)mvn install:install-file -Dfile=<path-to-file> -DpomFile=<path-to-pomfile>

如果jar包是用maven打包生成的,可以直接指定jar包和pom.xml文件。

(3)mvn install:install-file -Dfile=<path-to-file>

如果jar包是用maven打包生成的,maven 2.5版本会自动根据jar包生成pom.xml文件。

下面按照方法(1)给出一个例子,方法(2)和(3)类似:

首先创建两个项目:LocalJarforMavenDemo(Maven项目),LocalJar(普通java项目)。

(1)LocalJar添加一个类:

public class MethodOne {
    public void method(){
        System.out.println("method in MethodOne called.");
    }
}

(2)LocalJar打包:localjar-1.0.0.jar,在windows命令窗口输入mvn install指令:mvn install:install-file -Dfile=LocalJar.jar -DgroupId=nlp -DartifactId=localjar -Dversion=1.0.0 -Dpackaging=jar

安装成功后,在.m2/repository文件夹里可以看到jar包和pom.xml文件。

(3)LocalJarforMavenDemo项目的pom.xml添加localjar-1.0.0.jar包:

        <dependency>
            <groupId>nlp</groupId>
            <artifactId>localjar</artifactId>
            <version>1.0.0</version>
        </dependency>

成功导入包后,就可以引用localjar-1.0.0.jar包里的类了:

/**
 * Created by Alex on 2017/1/15.
 */
public class TestLocalJar {
    private static Logger logger = LoggerFactory.getLogger(TestLocalJar.class);

    public void testMethod(){
        logger.info("testMethod in TestLocalJar");
        MethodOne methodOne = new MethodOne();  //localjar-1.0.0.jar的类
        methodOne.method();
    }
}

2、把本地jar包放在项目的某个目录中

把本地jar包放在项目的某个目录中,就可以在pom.xml中引用该jar包了。在项目中构建目录,pom.xml添加reposiroty和dependency:

    <repositories>
        <repository>
            <id>localrepository</id>
            <url>file://${basedir}/repo</url>
        </repository>
    </repositories>

    <dependency>
        <groupId>nlp</groupId>
        <artifactId>localjar</artifactId>
        <version>1.0.0</version>
    </dependency>

3、使用scope system依赖

和方法2类似,pom.xml添加dependency,但不需要添加。这种方法可能出现奇怪的错误,所以不推荐使用。

<dependency>
            <groupId>nlp</groupId>
            <artifactId>localjar</artifactId>
            <version>1.0.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/repo/nlp/localjar/1.0.0/LocalJar.jar</systemPath>
        </dependency>

参考资料

1、https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
2、http://doduck.com/adding-local-jar-in-maven-local-repository/

到此这篇关于Maven导入本地jar包的实现步骤的文章就介绍到这了,更多相关Maven导入本地jar内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 如何在IDEA Maven项目中导入本地jar包的步骤

    1.打开侧面的maven,点击图中箭头指向的图标. 2.出现如下弹窗,在Command line在中输入执行的指令. 指令格式: install:install-file -Dfile=<Jar包的地址> -DgroupId=<Jar包的GroupId> -DartifactId=<Jar包的引用名称> -Dversion=<Jar包的版本> -Dpackaging=<Jar的打包方式> 如: mvn install:install-file -

  • 如何把本地jar包导入maven并pom添加依赖

    开发过程中经常遇到需要用某些http://maven.apache.org/中没有的jar包,这个时候可以用maven命令自己添加 通常这些jar包可以从其官网下载下来,然后用maven明天添加此jar包到maven 本次用例:jodconverter-2.2.2.jar,apache-maven-3.5.0 1:将jar包下载到某位置,为了方便,下载到了D:\lgqProject\apache-maven-3.5.0\bin下 2:用maven命令安装 因为我没有建环境变量,所以直接在bin目

  • 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包运行报错java.lang.NoClassDefFoundError解决

    目录 正文 maven引入本地jar的示例 配置maven将本地jar打入package中 maven打包知识分享 scope详解 正文 下文笔者讲述maven引入本地jar包时,运行报错"java.lang.NoClassDefFoundError"的处理方法分享,如下所示 今天在编写maven项目    导入本地jar包    部署到服务器上找不到包  报错信息如:java.lang.NoClassDefFoundError那么如何解决呢?   这种问题是由于,本地jar包在打包的

  • Maven引入本地Jar包并打包进War包中的方法

    1.概述 在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来. 2. 拷贝至项目根目录 项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示: 这4个Jar包是识别网页编码所需的包. 3. 配置pom.xml,依赖本地Jar 配置Jar的dependency,包括groupId,artifactId,version三个属性,同时还要包含scope和systemPath属性,分别指定Jar包来源于

  • 使用maven命令安装jar包到本地仓库的方法步骤

    第三方jar包在开发工具中引入后编译没问题, 启动调试包括打包时会提示找不到jar包的错误.需要上传到maven仓库中,并在pom文件内引入. maven命令: 安装指定文件到本地仓库命令:mvn install:install-file -DgroupId=<groupId> : 设置上传到仓库的包名 -DartifactId=<artifactId> : 设置该包所属的模块名 -Dversion=1.0.0 : 设置该包的版本号 -Dpackaging=jar : 设置该包的类

  • 在maven中引入本地jar包的步骤

    目录 1 起因 2 解决方案 2.1 在pom中引入 2.2 Spring Boot 打包处理 2.3 拓展: Spring Boot 打包加入其它资源 1 起因 在和一些第三方厂商对接的过程中, 偶尔会遇到对方提供的SDK自带maven无法获取的jar包的情况(对于开源激进者的笔者很讨厌这种行为) 我们该如何处理这种情况呢, 其实解决思路很简单: 在pom中引入本地jar 打包时本地jar包含在内 让我们来看看具体怎么操作吧 idea中虽然可以在项目配置加入, 但打包时会报错, 相关的处理方案

  • maven导入本地仓库jar包,报:Could not find artifact的解决

    目录 maven导入本地仓库jar包报:Could not find artifact 1.检查本地仓库 2.接着检查idea的maven配置 3.猜测可能是因为maven会先去网上的中央仓库获取jar包 4.设置好后 5.注意离线工作后 总结 maven导入本地仓库jar包报:Could not find artifact idea使用maven导包,报错: 1.检查本地仓库 发现jar包存在: 2.接着检查idea的maven配置 确实配置了本地仓库: 3.猜测可能是因为maven会先去网上

  • 解决idea导入maven项目缺少jar包的问题

    之前一直用的elipse,现在用idea不熟悉,这里记录一下.这里以idea2017为例. 导入elipse的maven项目,提示缺少jar包,肯定是idea没有给你导包. 第一步,首先确认自己的idea和maven的环境有没有配置好. 第二步,确认自己导项目时候的Module设置. 搞定自己的maven配置之后,咱们再来看一下项目的Module设置问题. 删掉之前Module,重新再导一遍. 点击 + 之后选择项目的本地路径,然后在弹出来的界面中选择Maven,之后一路 Next ,最后点击A

  • 详解IDEA使用Maven项目不能加入本地Jar包的解决方法

    使用IDEA编辑Web项目已经逐渐超过了使用eclipse的人数,但是IDEA对于pom.xml的执行也就是Maven方式导包支持并不是很完善,简单来说就是pom.xml上面记录的依赖库一般都能导入,但是如果pom.xml上面的某个依赖库失效,比如远程服务器关闭或者网络不通,或者是你想要加入本地硬盘上的某个jar包而不修改pom.xml的时候,IDEA的弊端就会显现出来.主要表现就是无法获得的依赖库或者本地Jar包无法放到/WEB-INF/lib目录下,导致Web项目部署时报错. 一个常见的错误

  • Maven 生成打包可执行jar包的方法步骤

    最近IDEA打可执行Jar包搞了三天,一直失败,好好学习一下Maven-assembly,在此记录一下 1. 需求 项目打包,满足以下要求: 1.整个项目打一个Zip包下面包括应用程序.应用程序依赖的jar包.说明文档 2.项目打的jar包可以执行不同类里的Main函数 3.项目源码打的jar包要与依赖的第三方jar包分开 4.项目里的执行脚本也要一块打包并进行分类 5.document目录下的readme.txt放在压缩包的根目录下,其他的还放在这个目录下 6.打的jar包去掉不需要的目录(文

随机推荐