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。

相关推荐
vx_BS813301 天前
【项目编号:project51629】Spring Boot 乡村自来水缴费系统:把抄表、水费生成与在线缴费做成一条数字化闭环
java·spring boot·eclipse·tomcat·maven
暮雨哀尘2 天前
JAVA基础练习(四):SpringBoot 实现简易登录功能
java·spring boot·eclipse·maven
hanchenxing2 天前
CI/CD流水线中的构建缓存:从原理到最小可运行示例CI/CD
maven·构建缓存
愛芳芳3 天前
Swagger2 多环境动态配置实战指南
java·后端·maven·springboot·swagger
金玉满堂@bj4 天前
多环境部署方案(开发、测试、生产,搭配Tomcat\+WAR包)
java·tomcat·maven
青春易逝丶4 天前
Maven
java·maven
AngusKit6 天前
AngusRepo 与 Nexus、JFrog:私有制品库怎么选
harbor·nexus·制品仓库·私服·jfrog·依赖托管
howard20056 天前
3.3 开发环境 - Maven
maven·安装·配置·阿里镜像源
xinjia_ctrl7 天前
暑假实习总结
git·后端·spring·maven·intellij-idea