maven 配置(远程仓库管理)

maven 配置

公司因为jar包管理混乱(本地缺这个缺那个的),因此建了一个私库。但是仍然很混乱,因为maven配置问题,有些组拉不下来,有些组更新完jar包版本后并没有上传至私库,找别的同事要的setting文件,要不不生效,要不乱得很,网上查的也是,多数都是乱配的(巧合式编程),只好自己看官方文档来配置了。

如何上传至远程仓库

单一项目(需配置pom.xml与setting.xml)

参考: https://maven.apache.org/guides/getting-started/index.html#how-do-i-deploy-my-jar-in-my-remote-repository

段落:How do I deploy my jar in my remote repository?

pom.xml:

复制代码
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
 
  <name>Maven Quick Start Archetype</name>
  
  ...
  <!-- 远程仓库配置  -->
  <distributionManagement>
    <repository>
      <id>mycompany-repository</id>
      <name>MyCompany Repository</name>
      <url>scp://repository.mycompany.com/repository/maven2</url>
    </repository>
  </distributionManagement>
</project>

setting.xml

复制代码
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
  ...

  <!-- 身份验证  -->
  <servers>
    <server>
      <id>mycompany-repository</id>
      <username>jvanzyl</username>
      <!-- Default value is ~/.ssh/id_dsa -->
      <privateKey>/path/to/identity</privateKey> (default is ~/.ssh/id_dsa)
      <passphrase>my_key_passphrase</passphrase>
    </server>
  </servers>
  ...
</settings>

全局(显式激活)

仅配置setting.xml

复制代码
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
  ...
  <!-- 身份验证  -->
  <servers>
    <server>
      <id>mycompany-repository</id>
      <username>jvanzyl</username>
      <!-- Default value is ~/.ssh/id_dsa -->
      <privateKey>/path/to/identity</privateKey> (default is ~/.ssh/id_dsa)
      <passphrase>my_key_passphrase</passphrase>
    </server>
  </servers>

  <!--  配置id与activeProfile需一致  -->
  <profiles>
	<profile>
		<id>yra</id>
		<repository>
		  <repositories>
	    	<repository>
	    	  <releases>
	    	    <enabled/>
	    	    <updatePolicy/>
	    	    <checksumPolicy/>
	    	  </releases>
	    	  <snapshots>
	    	    <enabled/>
	    	    <updatePolicy/>
	    	    <checksumPolicy/>
	    	  </snapshots>
	    	  <id/>
	    	  <name/>
	    	  <url/>
	    	  <layout/>
	    	</repository>
	    </repositories>
	  </repository>
	</profile>
  </profiles>

  <!--  激活  -->
  <activeProfiles>
	<activeProfile>yra</activeProfile>
  </activeProfiles>

  ...
</settings>

profile (可实现: 单一项目配置、单一用户配置、全局配置)

setting 配置项 参考: https://maven.apache.org/ref/3.9.6/maven-settings/settings.html
pom 配置项 参考: https://maven.apache.org/ref/3.9.6/maven-model/maven.html

如何使用profile

参考: https://maven.apache.org/guides/introduction/introduction-to-profiles.html

激活方式:

  • 显式
  • 隐式
    • JDK
    • OS
    • 环境
    • 文件(是否存在)
相关推荐
不像程序员的程序媛10 小时前
maven基础
python·pycharm·maven
2301_32241428041 天前
基于SSM框架的在线考试管理系统的设计与实现14750-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·redis·mysql·tomcat·maven·mybatis·ssm
鸽鸽程序猿2 天前
【项目】【在线判题系统】公共功能
java·spring boot·maven
砚底藏山河2 天前
python量化:行情数据回溯
java·开发语言·python·金融·maven
毕业设计7033 天前
(免费领源码)SSM董家湾线上点餐系统04682- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
java·redis·mysql·tomcat·maven·mybatis·ssm
技术小结-李爽3 天前
【工具】怎么在终端中启动springboot项目?
java·spring boot·后端·maven
知守观3 天前
Maven 依赖仲裁实战:pom 里写的 2.0,为什么打出的 WAR 包是 1.5?
java·后端·maven
Yyyyyy~3 天前
【Maven】基础
java·maven
記億揺晃着的那天4 天前
Amazon Ads API 自建 SDK 架构升级实战:从手工生成 JAR 到可追溯构建体系
maven·架构设计·sdk开发·openapi·amazon ads api
小白的码BUG之路4 天前
Jenkins -- 配置jdk和maven
java·jenkins·maven