【maven】搭建自己的maven仓库并使用

需求

核心代码整理出来了,然后需要以jar包的方式给开发人员使用,当然了,本农是先在业务代码中加了一个package,起名为core,为了后续拿出来用。所以想到了一个最容易的方法,就是把现有的代码复制一遍,core之外的都删掉就OK了。好了废话不多说了。

步骤

第一步,打包
core相关代码整理出来以后,打包吧,开开心心执行下mvn的package命令。
在这里插入图片描述
执行完了,也看到我想要的jar包了。
第二步,导入本地maven仓库
执行命令,把jar包导入本地仓库
可以看这篇博文
https://blog.csdn.net/timewaitfornoone/article/details/104166322
第三步,maven依赖
现在包也有了,直接引入使用吧

	<!--core-->
	<dependency>
		<groupId>com.dlanqi.core</groupId>
		<artifactId>dlanqi.core</artifactId>
		<version>1.0.0</version>
	</dependency>

包能引用,没报错,但是所有的方法代码都引入不进来,如图
代码报错
先不慌,看下jar包引入了没有
在这里插入图片描述
jar包是在的,展开看下路径啥的
在这里插入图片描述
哦,看到这里知道了,和别的对比下就知道了,这种打包方式是为了打包spring cloud的,我需要的是可引用的jar包。。。找下发现了,打包的方式不对,具体的区别还没研究

<!--这种是为了打包springcloud的-->
<plugin>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- maven-surefire-plugin 这种才是为了打包引用的 -->
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-surefire-plugin</artifactId>
	<version>2.17</version>
</plugin>

然后重新打包,再来一遍OK了。

完善

本农不能只考虑自己的jar包OK就行了,我还要考虑剩下的农们。来吧,搭建一个maven私服吧。
因为用过docker,觉得很方便,那就找个docker的方式来吧。
参考
https://www.jianshu.com/p/77af52a75ad8
这里的OK的,但是新版本的密码不是admin123了,登录的时候会提示,在映射出来的文件里(说到映射文件,这里需要把文件的权限开大,我是直接777,这样启动后才能写入如下的这些文件
在这里插入图片描述
然后会提示修改密码,修改后进入首页
在这里插入图片描述
点这个设置,然后选择仓库
在这里插入图片描述
这里创建一个自己的仓库,需要选择maven2里的hosted,下边框是我创建好的。
在这里插入图片描述
在这里插入图片描述
打开详情,这里能看到这个仓库的信息,只需要这个路径就好了
在这里插入图片描述
创建完了,把它加入到maven-public组中
在这里插入图片描述
这样,这个仓库就可以使用了,打开maven的settings.xml文件,增加servers节点

<servers>
	<server>
       <id>dlanqi.core</id>
       <username>admin</username>
       <password>******</password>
	</server>
</servers>

然后就可以push自己的jar包到这个私服中了。

mvn deploy:deploy-file -Dfile="dlanqi.core-1.0.1.jar" -DgroupId="com.dlanqi.core" -DartifactId="dlanqi.core" -Dversion="1.0.1" -Dpackaging=jar -Durl="http://xxx:8021/repository/dlanqi.core/" -DrepositoryId="dlanqi.core"

看下仓库中的jar包
在这里插入图片描述
当然了,也可以修改pom文件,直接部署到私有仓库中
比如如下的写法,就是可以直接推到仓库中了,需要执行的命令是deploy即可
在这里插入图片描述

    <distributionManagement>
        <repository>
            <id>private-release</id>
            <url>http://ubuntu.dlanqi.com:8021/repository/private-release/</url>
        </repository>
        <snapshotRepository>
            <id>private-snapshot</id>
            <url>http://ubuntu.dlanqi.com:8021/repository/private-snapshot/</url>
        </snapshotRepository>
    </distributionManagement>

这里有我安装过的两个包

然后修改maven的settings.xml文件,增加私服的镜像路径

		<mirror>
			<id>dlanqimaven</id>
			<name>dlanqi maven</name>
			<url>http://xxx:8021/repository/dlanqi.core/</url>
			<mirrorOf>*</mirrorOf>
		</mirror>

至此,大功告成。
这里需要注意的一点是,如果只有私服,那么没有问题,但是如果阿里的仓库在用,同时想使用私有仓库,就不能配置*了需要做个修改,这个很重要,不然jar包下载不下来,只能下载下来两个lastUpdated文件。。。。。。。。。。。。。。
废话不说了,需要修改后的配置文件是

<?xml version="1.0" encoding="UTF-8"?>
<settings>
	<localRepository>C:\Users\Rex\.m2\repository</localRepository>
	<interactiveMode>true</interactiveMode>
	<offline>false</offline>
	<mirrors>
		<mirror>
			<id>dlanqi.core</id>
			<name>dlanqi maven</name>
			<url>http://ubuntu.dlanqi.com:8021/repository/private-release/</url>
			<mirrorOf>private-release</mirrorOf>
		</mirror>
		<mirror>
			<id>alimaven</id>
			<name>aliyun maven</name>
			<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
			<!-- <mirrorOf>central</mirrorOf>  -->
			<mirrorOf>*</mirrorOf>
		</mirror>
	</mirrors>
	<profiles>
		<profile>
			<id>development</id>
			<activation>
				<activeByDefault>true</activeByDefault>
				<jdk>1.8</jdk>
			</activation>
			<repositories>
				<repository>
					<id>private-release</id>
					<url>http://ubuntu.dlanqi.com:8021/repository/private-release/</url>
				</repository>
				<repository>
					<id>private-snapshot</id>
					<url>http://ubuntu.dlanqi.com:8021/repository/private-snapshot/</url>
				</repository>
			</repositories>
		</profile>
	</profiles>
	<activeProfiles>
		<activeProfile>development</activeProfile>
	</activeProfiles>
	<servers>
		<server>
	       <id>private-release</id>
	       <username>rex</username>
	       <password>123456</password>
		</server>
		<server>
	       <id>private-snapshot</id>
	       <username>rex</username>
	       <password>123456</password>
		</server>
	</servers>
</settings>

这里调查了好久,终于在一位大神那里了解了maven配置文件的具体用法了,感谢
参考
https://www.jianshu.com/p/b734f075a85a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时光不等仁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值