将jar文件加到maven的local repository中

可参考:http://www.cnblogs.com/davenkin/archive/2012/02/15/install-jar-into-maven-local-repository.html  

  对于Maven项目来说,日常使用的多数第三方java库文件都可以从Maven的Central Repository中自动下载,但是如果我们需要的jar文件不在Central Repository中,那么我们就需要手动将自己下载的jar文件加入到Maven的local reposotory中了,此时我们需要向Maven提供用于识别jar文件(可能多个)的groupId, artifactId和version等信息。

  1. 进入maven 的local repository下

    a. 打开终端,查看maven安装信息:brew info maven

    b. 进入maven本地目录下:cd ~/.m2 (Linux/Mac中maven本地路径)

    c. 进入repository文件夹下: cd  repository

    d. 编译打包baseApp.jar, 路径path=/Users/sarah/Desktop/MR-base/target/baseApp.jar

    d. 提供用于识别jar文件的groupId, artifactId, version和packaging信息,就可以将jar文件加到maven的local repository中:

      mvn install:install-file -Dfile=path -DgroupId=com.aliyun.eleme -DartifactId=baseApp -Dversion=1.0 -Dpackaging=jar 

  2. 现在,我们的baseApp.jar便可以被其它Maven项目所使用了,为此创建一个Maven工程:

     mvn archetype:generate-DgroupId=com.aliyun.eleme.demo -DartifactId=baseApp-demo -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=1.0

  3. 删除baseApp-demo目录下已有的App.java, 并创建自己的Main.java文件

    rm src/main/java/com/aliyun/eleme/demo/App.java

    touch src/main/java/com/aliyun/eleme/demo/Main.java

  4. Main.java文件可以引用该jar文件了

    package com.aliyun.eleme.demo

    import com.aliyun.eleme.baseApp

  5. 最后一步,修改pom.xml文件加以对baseApp类的依赖 (绿色部分为添加baseApp类的依赖,红色部分执行步骤一致)  

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.eleme.matrix</groupId>
<artifactId>qa</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>

<dependency>
<groupId>com.aliyun.eleme</groupId>
<artifactId>baseApp</artifactId>
<version>1.0</version>
</dependency>

<dependency>
<groupId>com.aliyun.eleme</groupId>
<artifactId>hadoop</artifactId>
<version>1.0</version>
</dependency>

<dependency>
<groupId>com.aliyun.eleme</groupId>
<artifactId>hive</artifactId>
<version>1.0</version>
</dependency>

<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.9</version>
<scope>test</scope>
</dependency>

</dependencies>

<build>
<finalName>QA</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<encoding>UTF-8</encoding>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.eleme.matrix.App</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>


</project>
posted @ 2016-10-11 15:02  一生守候  阅读(1109)  评论(0编辑  收藏  举报