maven引用本地jar包

教程:
http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html

安装

  1. 到下载maven: http://maven.apache.org/download.cgi

    $wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz
    
  2. 解压,拷贝到某个目录下,建立软链接:
    $tar -xzvf apache-maven-3.2.5-bin.tar.gz
    $sudo cp apache-maven-3.2.5 /usr/local/ -rf
    $cd /usr/bin
    $sudo ln -s /usr/local/apache-maven-3.2.5/bin/mvn mvn
    
  3. 添加环境变量
    $sudo vim /etc/profile
    

    加入:

    export JAVA_HOME=/usr/local/java/
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin
    export MAVEN_HOME=/usr/local/apache-maven-3.2.5
    export PATH=${PATH}:${MAVEN_HOME}/bin
    

执行命令,让/etc/profile马上生效

$source /etc/profile
  1. 测试是否安装成功:

    $mvn -v
    Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-15T01:29:23+08:00)
    Maven home: /usr/local/apache-maven-3.2.5
    Java version: 1.6.0_32, vendor: Sun Microsystems Inc.
    Java home: /usr/lib/install/jdk-1.6.0_32/jre
    Default locale: en_US, platform encoding: UTF-8
    
    $java -version
    java version "1.6.0_32"
    Java(TM) SE Runtime Environment (build 1.6.0_32-b05)
    OpenJDK (XXX) 64-Bit Server VM (build 20.0-b12-internal, mixed mode)
    

使用maven

  1. 构建maven项目

    $mvn archetype:generate
    
    Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 554:回车
    Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
    1: 1.0-alpha-1
    2: 1.0-alpha-2
    3: 1.0-alpha-3
    4: 1.0-alpha-4
    5: 1.0
    6: 1.1
    Choose a number: 6:回车(默认为6)
    
    Define value for property ‘groupId‘: : test_groupid
    Define value for property ‘artifactId‘: : test_artifactid
    Define value for property ‘version‘:  1.0-SNAPSHOT: :
    Define value for property ‘package‘:  test_groupid: :
    Confirm properties configuration:
    groupId: test_groupid
    artifactId: test_artifactid
    version: 1.0-SNAPSHOT
    package: test_groupid
    Y: : y
    

此时已经构建成功

$cd test_artifactid
$ls
pom.xml  src

在src/main/java/目录下放java项目,在src/test/java/目录下放单元测试

  1. 几个常用命令:

    * mvn -h,不会用时,可寻求帮助
    * mvn clean compile,将.java类编译为.class文件
    * mvn clean test, 执行单元测试,会先运行编译
    * mvn clean package,进行打包,会先运行测试
    * mvn clean install –Dmaven.test.skip
    * mvn clean install,将某jar包安装到maven本地仓库中
    * mvn archetype:generate,快速的搭建项目骨架,输入一些groupId/artifactId/version等信息,由mvn插件自动生成一些必要的依赖和项目骨架
    
  2. 本地不常用jar包如何添加依赖关系:

    首先我们需要理解Maven仓库的两个概念:本地仓库远程仓库
    本地仓库是远程仓库的一个缓冲和子集,当你构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到你本地仓库。这样在你下次使用的时候就不需要从远程下载了。

    比如我们把部分需要依赖的jar包放到项目的lib文件夹下,我们需要把依赖关系添加到pom.xml文件中。然而大部分jar包都是非正式的jar包,很难或不可能从远程仓库中下载下来。

    网上有几种比较常用的做法:

    • 直接安装到本地仓库中,然而,这种做法只会在你本地的机器上有效,其它机器仍需重复执行安装命令。
    • 通过添加system scope标签的方式,这种做法有时候会产生些问题,比如项目开发过程中会出现项目虽然打包成功,但是运行过程中会报包依赖错误。
    • 搭建本地的远程仓库。首先把依赖的jar包通过以下命令:groupId这类可以随意填,但是需要确保在远程仓库中不存在,并且最好做到唯一,否则会与其它依赖关系冲突。
      $mvn install:install-file -Dfile=lib/gson-2.2.4.jar -DgroupId=localgroupid -DartifactId=gson -Dversion=2.2.4 -Dpackaging=jar -DlocalRepositoryPath=repo -DcreateChecksum=true
      

    执行命令后,我们查看repo文件夹的树结构,这时的repo文件夹实际上相当于远程仓库:

    $tree -l
    .
    `-- localgroupid
        `-- gson
            |-- 2.2.4
            |   |-- gson-2.2.4.jar
            |   |-- gson-2.2.4.jar.md5
            |   |-- gson-2.2.4.jar.sha1
            |   |-- gson-2.2.4.pom
            |   |-- gson-2.2.4.pom.md5
            |   `-- gson-2.2.4.pom.sha1
            |-- maven-metadata-local.xml
            |-- maven-metadata-local.xml.md5
            `-- maven-metadata-local.xml.sha1
    

    此时,我们在pom.xml中需要添加的依赖关系如下:

    <dependency>
      <groupId>localgroupid</groupId>
      <artifactId>gson</artifactId>
      <version>2.2.4</version>
    </dependency>
    

    此外,还需要在pom.xml中添加:

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

    当我们把所有需要依赖的jar包等依赖关系注入到pom.xml后,我们可以编译、测试、打包项目。

    下载依赖关系的过程如下: 根据pom.xml中的依赖关系,首先去远程仓库查看是否有该依赖包,如果有直接下载。否则会从repo中查看是否有该依赖关系,如果有直接添加到本地仓库中,否则报错。 因此当我们把repo添加到项目中,在其它机器上就可以不用重复手动或跑命令的方式安装到本地仓库。

在新建项目时怎么做?

  • 使用mvn构建命令构建maven固定格式的maven项目
  • 依赖本地jar包时,本地的jar包在添加时需要同时执行安装到repo文件夹下,通过设置groupId、artifactId、version、package来区别开不同的jar包以及版本号。
  • 把依赖关系添加到pom.xml中
  • 源代码、单元测试代码按照规范放到各自的文件夹下
时间: 2024-12-17 13:25:01

maven引用本地jar包的相关文章

Maven引入本地Jar包

Maven引入本地Jar包 baby_honour关注 2019.05.14 18:42:30字数 180阅读 3,579 拷贝至项目根目录 项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示: 配置pom.xml,依赖本地Jar 配置Jar的dependency,包括groupId,artifactId,version三个属性,同时还要包含scope和systemPath属性,分别指定Jar包来源于本地文件,和本地文件的所在路径. POM文件里面可以引

maven添加本地jar包到maven仓库

maven添加本地jar包到maven仓库mvn install:install-file -DgroupId=io.netty -DartifactId=netty-all -Dversion=5.0.0.Alpha1 -Dpackaging=jar -Dfile=G:/java/jar包/netty-all-5.0.0.Alpha1.jar 我下载的这个 jar 包是放到了 D:\mvn 目录下(D:\mvn\spring-context-support-3.1.0.RELEASE.jar)

解决Maven关于本地jar包的打包处理

在使用maven进行jar包管理时,通过我们都是通过maven去下载一些jar包,但有些jar在maven上没有,所以就就可能在本地直接手动加入一些需要用到的外部jar包.但如果我们用maven package打包就会发现,本地的那些jar是不能被maven识别的,所以就需要解决Maven关于本地jar包的打包处理的问题. 还好maven中有提供这样的配置,在pom文件中通过配置附加指定本地jar的路径即可完成maven打包功能. <build> <plugins> <plu

Maven引入本地Jar包并打包进War包中

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

Maven将本地jar包安装到仓库

Maven将本地jar包安装到仓库 mvn install:install-file -Dfile=C:\Users\seman\Documents\opencv\build\java\opencv-310.jar -DgroupId=com.semanteme.code -DartifactId=opencv -Dversion=310 -Dpackaging=jar 原文地址:https://www.cnblogs.com/semanteme/p/11247788.html

maven管理本地jar包注意事项

今天lucene中集成第三方中文分词器IKAnalyzer的时候遇到了相似的问题:lucene版本4.9.IKAnalyzer版本2012FF_hf1 直接去maven仓库下载,pom配置如下: 1 <dependency> 2 <groupId>IKAnalyzer</groupId> 3 <artifactId>IKAnalyzer</artifactId> 4 <version>2012FF_hf1</version>

maven将本地jar包导入本地仓库

从maven中央仓库下载下来的jar包手动导入本地库,如下图 以下其中maven的dependency <dependency> <groupId>org.molgenis</groupId> <artifactId>molgenis-data-vcf</artifactId> <version>1.21.1</version></dependency> 我下载下来的jar包位置为:C:\Users\johnn

maven 使用本地jar包

如果无法从中央仓库下载jar包,我们可以单独把jar下载下来,放置在本地仓库中,并且在本地仓库中,同级目录下,建立和jar包同名的pom即可. 示例: jar包位置 C:\Users\Administrator\.m2\repository\bcs\bcs\1.4.3\bcs-1.4.3.jar pom位置 C:\Users\Administrator\.m2\repository\bcs\bcs\1.4.3\bcs-1.4.3.pom pom内容 <?xml version="1.0&q

Maven添加本地Jar包

1.首先我在项目根目录中创建一个lib文件夹,将jar包拷贝到lib文件夹下 2.然后我们在maven的pom.xml中配置 <groupId>xxx</groupId> <artifactId>xxx</artifactId> <version>xxx</version> <scope>system</scope> <systemPath>${project.basedir}/lib/xxx.ja