Maven 私服搭建

文章目录

配置模板

server

xml 复制代码
<!--第一个server-id要和下面的mirror中的id一致,代表拉取是也需要进行身份校验-->
<server>
   <id>company-java</id>
   <username>admin</username>
   <password>company</password>
</server>
<server>
  <!-- jar上传时候进行验证,id对应的是pom中id属性的值-->
  <id>tcReleases</id>
    <username>admin</username>
    <password>company</password>
</server>
<server>
  <id>tcSnapshots</id>
  <username>admin</username>
  <password>company</password>
</server>

mirror

xml 复制代码
<mirror>
  <id>company-java</id>
  <mirrorOf>*</mirrorOf>
  <name>company java</name>
  <url>http://192.168.7.10:8081/repository/java-group/</url>
</mirror>
1.3 profile
<profile>
  <!-- 私服配置id java maven private server -->
  <id>company-jmps</id>
  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.8</jdk>
  </activation>
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
  </properties>
  <!-- 私服仓库列表 -->
  <repositories>
    <repository>
      <id>company-java</id>
      <name>company java</name>
      <!-- 虚拟的URL形式,指向镜像的URL-->
      <url>http://192.168.7.10:8081/repository/java-group/</url>
      <layout>default</layout>
      <!-- 从该仓库下载releases版本的构件-->  
      <releases>
        <enabled>true</enabled>
      </releases>
      <!-- 从该仓库下载snapshot版本的构件 -->  
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>
  <!-- 插件仓库列表 -->
  <pluginRepositories>
    <pluginRepository>
      <id>company-java</id>
      <name>company java</name>
      <url>http://192.168.7.10:8081/repository/java-group/</url>
      <layout>default</layout>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
</profile>

1.4 模板文件

暂时无法在文档外展示此内容

二、 pom.xml配置

xml 复制代码
<distributionManagement>
   <repository>
      <!--id的名字可以任意取,但是在setting文件中的属性<server>的ID与这里一致-->
      <id>tcReleases</id>
      <!--指向仓库类型为host(宿主仓库)的储存类型为Release的仓库-->
      <url>http://192.168.7.10:8081/repository/java-release/</url>
   </repository>
   <snapshotRepository>
      <id>tcSnapshots</id>
      <!--指向仓库类型为host(宿主仓库)的储存类型为Snapshot的仓库-->
      <url>http://192.168.7.10:8081/repository/java-snapshot/</url>
   </snapshotRepository>
</distributionManagement>

RELEASE、SNAPSHOT版本区别

发行版(RELEASE)

开发者完成代码修改并修改版本号后,使用maven deploy命令部署至私服,需通知团队成员版本变更并更新依赖。版本后缀无-SNAPSHOT则默认为RELEASE版本。

快照(SNAPSHOT)

一种特殊的版本,开发者完成代码修改后,使用maven deploy命令部署至私服,团队成员不需要关注代码变更,Maven每次构建都会在远程仓库中检查并获取新的快照。

注意:每次更新jar包时,版本号不变,且后缀必须带上-SNAPSHOT。

mvn deploy

deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库。

注意:如某个模块不需要部署至maven仓库,可在pom.xml properties中添加

<maven.deploy.skip>true</maven.deploy.skip> 配置,跳过deploy。

相关推荐
aloha_7892 分钟前
从零记录搭建一个干净的mybatis环境
java·笔记·spring·spring cloud·maven·mybatis·springboot
尢词2 小时前
SpringMVC
java·spring·java-ee·tomcat·maven
wrx繁星点点2 小时前
享元模式:高效管理共享对象的设计模式
java·开发语言·spring·设计模式·maven·intellij-idea·享元模式
前 方4 小时前
若依入门案例
java·spring boot·maven
咕哧普拉啦4 小时前
乐尚代驾十订单支付seata、rabbitmq异步消息、redisson延迟队列
java·spring boot·mysql·spring·maven·乐尚代驾·java最新项目
不像程序员的程序媛6 小时前
mybatisgenerator生成mapper时报错
maven·mybatis
移民找老国6 小时前
加拿大移民新风向
java-ee·maven·phpstorm·visual studio code·nio
LUwantAC6 小时前
Java学习路线:Maven(三)继承关系
java·学习·maven
尘浮生10 小时前
Java项目实战II基于Spring Boot的问卷调查系统的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea
弗拉唐12 小时前
SSM中maven
java·前端·maven