maven安装到本地仓库、打包成库

2017-11-21  本文已影响224人  e辉

大多数情况下,我们都在使用别人开发好的第三方jar包,然后在maven pom.xml中添加依赖,这样maven就去本地仓库中找或则中央仓库中下载。但是我们自己开发的一些常用的工具类,或则写得比较好的项目,想提供给别人使用时,这就需要使用maven把项目打包成jar包,然后你只需要把jar包和maven依赖给别人就可以了。

1、添加maven-assembly-plugin 插件

将当前jar包中依赖的jar包一并打成jar包。

 <plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

2、建立maven坐标

      <!-- 创建这个项目的组织名称(一般为组织的域名反写) -->
      <groupId>com.Ehui</groupId>
      <!-- 表示一个单独项目的唯一标识符 -->
      <artifactId>timeseries</artifactId>
      <!-- 项目的版本号 -->
      <version>1.0</version>

3、项目依赖包控制

为什么需要对项目依赖包的进行控制呢?举例来说,你开发时需要做测试,你需要依赖于junit的jar,但是部署应用时并不需要它, 因为单元测试不会在生产环境上跑,也就是说最终打包的jar或者war不包含junit的jar。又如你开发web程序,你的servlet/jsp进行编译需要依赖于servlet-jsp的标准api(J2EE的jar),但是部署时也是不需要它的,因为你的应用服务器肯定有这些东西。使用maven对项目依赖包的管理非常方便,只需要在添加依赖的时候设置<scope>节点的值就可以了。

下面是我的项目范围依赖,spark-core_2.11<scope> 设置为provided的原因是因为我要使用这个包的项目中已经拥有spark-core_2.11这个包了,所以这里打包时可以不需要。


依赖范围图

4、maven install

安装到你的本地库中

image.png

最后

当安装项目到本地仓库之后,你就可以在自己的maven仓库中看到安装好的包了。 如:在 repository/com/Ehui/ 路径下面你将会发现有一个timeseries 目录。提供给其他人使用的时候,你只需要把包与第二步中的maven坐标给别人就好了。需要注意的是,maven寻找依赖包的时候就是根据坐标去找的,所以到时候给别人的时候叮嘱一下,千万不能放错目录。

感恩之心,珍惜当下。人生最重要的时刻就是现在。

上一篇下一篇

猜你喜欢

热点阅读