mvn本地生成jar包放在mvn项目依赖(将jar包传到本地仓库)

大家在自己写项目中遇到过想在pom文件中加入自己开发依赖包,这些包肯定不是Maven仓库(http://mvnrepository.com/其中一个仓库)的,那我们怎么将那些不存在Maven仓库中的包加入到本地Maven仓库中?

案例:

我有一个Maven构建的项目,项目模块之间有依赖关系,我需要用到一个本地的jar包(是我自己写的Java常用的工具类),而该jar包不能通过配置pom.xml文件从远程仓库自动下载,于是我直接导入该jar包到其中一个项目,不通过pom.xml进行管理,导致其他依赖该模块的模块不能引用该jar,出现ClassNotFoundException。

 

上面的common.util.jar包我是通过

 

现在想通过pom.xml引入该jar包,

 

  第一步:将common.util.jar包存放在一个文件夹中,比lib文件夹,我直接用maven生成到target下面.

    第二步:在eclipse中,运行下面代码(run As->maven build),如下图:

        mvn install:install-file -Dfile=D:\git_data\target\common.util.jar -DgroupId=common_util -DartifactId=common_util -Dversion=0.0.1.0-SNAPSHOT -Dpackaging=jar

解释:-DgroupId 就是pom.xml里定义的groupId,

        -DartifactId就是pom.xml里定义的artifactId

       -Dversion =就是pom.xml里定义项目的版本号

    如果不存在就根据实际情况填写,没有就按你想要的写就行。

第三步:

这样你就可以将common_util-0.0.1.0-SNAPSHOT.jar安装到您Maven本地的库文件夹相应目录中。你可以根据你需要安装包的实际情况修改上面的几个参数的设定值即可。之后你可以在pom.xml文件中通过以下依赖在项目中引入上述的包,如下:    

<dependency>
        <groupId>common_util</groupId>
        <artifactId>common_util</artifactId>
        <version>0.0.1.0-SNAPSHOT</version>
    </dependency>

这样就可以了。再maven本地仓库中就能找到jar包了。如下图:


 

 

第二种方式:

当然你也可以不将common.util.jar发布到您本地的Maven库中,而是通过下面配置引入,效果和上面的差不多:

<dependency>
        <groupId>common_util</groupId>
        <artifactId>common_util</artifactId>
        <version>0.0.1.0-SNAPSHOT</version>

         <scope>system</scope>

  <systemPath>D:\git_data\target\common.util.jar</systemPath>    

</dependency>

转载于:https://my.oschina.net/u/1421591/blog/711157