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。

相关推荐
新手小袁_J1 小时前
JDK11下载安装和配置超详细过程
java·spring cloud·jdk·maven·mybatis·jdk11
莫名其妙小饼干14 小时前
网上球鞋竞拍系统|Java|SSM|VUE| 前后端分离
java·开发语言·maven·mssql
.生产的驴18 小时前
SpringBoot 对接第三方登录 手机号登录 手机号验证 微信小程序登录 结合Redis SaToken
java·spring boot·redis·后端·缓存·微信小程序·maven
全栈老实人_2 天前
时间管理系统|Java|SSM|JSP|
java·开发语言·tomcat·maven
Zhu_S W2 天前
SpringBoot项目的创建方式(五种)
java·spring boot·后端·maven·idea
骑个小蜗牛2 天前
Maven 生命周期
maven
蜜獾云2 天前
maven-resources-production:ratel-fast: java.lang.IndexOutOfBoundsException
java·maven·intellij-idea
xiao_fwuu2 天前
IDEA 打开 maven 的 settings.xml 文件
xml·maven·intellij-idea
莫名其妙小饼干2 天前
时间管理系统|Java|SSM|JSP|
java·开发语言·maven·mssql
小张认为的测试3 天前
如何更改 maven 指定的 java 版本 set JAVA_HOME=C:\Program Files\Java\jdk1.8
java·开发语言·maven