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。

相关推荐
有梦想的攻城狮18 小时前
快速搭建Maven仓库服务
java·maven·仓库·nexus
悟能不能悟18 小时前
mvn能只test单独一个文件吗
maven
Rebecca.Yan20 小时前
Maven下载与配置&&对Java项目的理解
java·开发语言·maven
慕木兮人可20 小时前
idea安装maven 拉取依赖失败的解决办法
java·maven·intellij-idea
二饭2 天前
解决Maven“无法将类 XXXXX 中的构造器 XXXXXX 应用到给定类型”错误
java·spring·maven
老马啸西风2 天前
maven 发布到中央仓库之 Ignore Licence-04
java·ci/cd·maven
麦兜*2 天前
Spring Boot 集成Reactive Web 性能优化全栈技术方案,包含底层原理、压测方法论、参数调优
java·前端·spring boot·spring·spring cloud·性能优化·maven
胚芽鞘6813 天前
关于java项目中maven的理解
java·数据库·maven
今天又在摸鱼3 天前
Maven
java·maven
老马啸西风3 天前
maven 发布到中央仓库常用脚本-02
java·maven