mavenJava服务器端编程项目设计

发布项目到私有Maven仓库并引用

2017-08-25  本文已影响156人  柠檬信息技术有限公司

0x01 前言

企业内部通常会将系统内部的常用工具类等公用Class打成Jar包,发布到企业的私有Maven仓库中,然后其他开发人员通过配置Maven私有仓库的信息来从企业内部的仓库添加依赖。花了一个小时时间把整个流程跑通一遍,特此记录一下,有需要的朋友可以作为参考。

0x02 要准备的东西

这部分比较简单,Nexus下载地址:http://www.sonatype.org/nexus/go,网上很多教程,我也会抽时间把这个流程重新跑一遍记录一下,之前搭环境比较忙,没有截图。

在这里我随便写了一个工程,工程名称为:jkit-common-beans

这里用的是我很久之前的一个工程,工程名为:yoyolearn-user-center,这个工程只要是Maven工程(有POM.xml)文件即可

0x03 开始折腾Nexus仓库

之前的图中仓库列表就已经有lemonsoft-repo,那是因为我之前就已经添加了,这里请读者不要费解

找到maven-public并点击 添加到右侧之后,点击保存 选择添加用户 填写用户信息并添加用户 填写完成后的用户列表.png

到此为止,我们在Nexus中的配置告一段落了,接下来我们搞搞

0x04 配置要上传Jar的项目

mvn --version

执行命令后得到如下图的路径:

找到maven安装路径 找到settings.xml配置文件
<server>
    <id>lemonsoft-nexus</id>
    <username>liuri</username>
    <password>xxxxxxxxxxxx</password>
</server>

如下图所示:

编辑settings文件中的server 仓库列表获取仓库地址

填写完ID和URL之后整体的POM.xml文件内容如下:

<?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>net.lemonsoft.jkit</groupId>
    <artifactId>jkit-common-beans</artifactId>
    <version>0.0.1</version>

    <distributionManagement>
        <repository>
            <id>lemonsoft-nexus</id>
            <url>http://www.lemonsoft.net:20004/repository/lemonsoft-repo/</url>
        </repository>
    </distributionManagement>

    <!--打包带源码-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

其中build节点中的所有配置是为了让我们把源码一同传上去,方便其他开发者调试的时候看到源码,如果读者你要是不需要,那么不配置即可。

mvn deploy -Dmaven.test.skip=true

其中-Dmaven.test.skip=true选项是为了跳过单元测试,可根据自己选择是否需要加上。

上传成功 打开仓库详情页

弹出仓库详情页面后可以看到刚刚我们上传上来的文件

上传成功列表

点击进去,可以看到我们上传的文件详情

上传后的详情页面

OK,我们到此为止把上传也搞定了,接下来,我们来看看怎么在另外一个工程引用刚刚上传的依赖。

0x05 引用私有仓库中的依赖

<project>
......
    <repositories>
        <repository>
            <id>lemonsoft-nexus</id>
            <name>LemonsoftNexusRepo</name>
            <url>http://www.lemonsoft.net:20004/repository/lemonsoft-repo/</url>
        </repository>
    </repositories>
......
</project>
<dependency>
    <groupId>net.lemonsoft.jkit</groupId>
    <artifactId>jkit-common-beans</artifactId>
    <version>0.0.1</version>
</dependency>

其中groupID、artifactId和version信息和我们刚刚提交的包中所写的信息保持一致,也可以在Nexus的component详情中查询到

查看component详情信息

到此为止,大功告成,下载一下依赖就可以搞定了。

上一篇 下一篇

猜你喜欢

热点阅读