当前位置: 首页 > article >正文

安装及使用本地Maven仓库

1. 下载 Maven 

Maven 下载地址:https://maven.apache.org/download.cgi

2. 安装 Maven 

解压 zip 包到本地目录,如:E:\maven\apache-maven-3.9.1

将  E:\maven\apache-maven-3.9.1和 E:\maven\apache-maven-3.9.1\bin 路径设置到环境变量。安装成功后,打开 cmd 命令行窗口,输入 mvn --version,可以出现version输出即是安装成功。

3.  将 jar 包发布到本地仓库

参考博客: Maven 发布jar包到本地库

Maven 安装 JAR 包的命令:

mvn install:install-file -Dfile=jar包的位置 -DgroupId=groupId -DartifactId=artifactId -Dversion=version -Dpackaging=jar

指令执行成功截图:

安装成功后,生成的 pom.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.tencent.shadow.dynamic.loader</groupId>
  <artifactId>loader</artifactId>
  <version>1.0.0</version>
  <description>POM was created from install:install-file</description>
</project>

mvn install:install-file -Dfile=jar包的位置 -DgroupId=groupId -DartifactId=artifactId -Dversion=version -Dpackaging=jar

jar包的位置:就是要发布的jar的路径,例如:E:\codes\Shadow\Shadow-source\projects\sdk\dynamic\dynamic-loader\build\libs\dynamic-loader.jar
groupId:就是maven的groupId信息,如上面的xml的<groupId>标签中的信息
artifactld:就是maven的artifactld信息,如上面的xml的<artifactld>标签中的信息
version:就是maven的version信息,如上面的xml的<version>标签中的信息

4. 使用本地Maven仓库的Jar 包

在 Android Studio 的 settings.gradle 中配置 mavenLocal() 导入本地 maven 仓库,注意在 settings.gradle 中配置才能生效。

在对应模块的 build.gradle 中配置依赖项

// implementation "groudId : artifactId : version"
implementation "com.tencent.shadow.dynamic.loader:loader:1.0.0"

文件所在路径:USER_HOME\.m2\repository\com\tencent\shadow\dynamic\loader\loader\1.0.0\loader-1.0.0.jar

如果 mavenLocal() 没有配置在 settings.gradle 中,不会生效,如下,在 project 的根目录的 build.gradle 配置 mavenLocal(),没有生效。gradle 去 mavenCentral() 的路径找不到依赖jar包。如下图:

如果 mavenLocal() 配置在 app/build.gradle 时,会编译报错,

Build was configured to prefer settings repositories over project repositories but repository 'MavenLocal' was added by build file 'app\build.gradle'

如下图:

编译报错提示说,build 的仓库配置应该写到 setting.gradle 中,而不是项目 build.gradle,但是当前构建文件 build.gradle 添加了 MavenLocal 仓库。所以,我们要把 mavenLocal() 配置到 settings.gradle 中。

添加 mavenLocal() 和 implementation 后,sync project 和 build,完成编译。

 

参考文档:

Maven Publish Plugin

Maven 教程

 


http://www.kler.cn/a/4251.html

相关文章:

  • 群论学习笔记
  • 菜品管理(day03)
  • Golang Gin系列-3:Gin Framework的项目结构
  • PHP中的魔术函数
  • ASP.NET Core - .NET 6 以上版本的入口文件
  • 数字人助力企业出海增长,魔珐科技亮相2025晋江跨境电商峰会
  • 面经-javascript基础
  • get和post的区别
  • python使用正则表达式re
  • Linux 多线程:多线程和多进程的对比
  • ChatGPT再掀AI资本狂潮,30位科技创新VC投资者齐聚“实在智能”
  • 2023年科睿唯安官方剔除的35本SCI清单
  • 【CSS】清除浮动 ③ ( 清除浮动 - 使用 after 伪元素 | 语法简介 | 兼容低版本浏览器 | 原理分析 )
  • 深度好文,无代码平台如何解决软件开发成本居高不下?
  • 【Python】大杀器:Photon超快速帮助你搜集信息
  • 大学生问AI
  • 2023年全国最新保安员精选真题及答案34
  • Nginx——Nginx优化方案设计
  • Day929.运用自动化工具诊断分析Sharing项目 -系统重构实战
  • LeetCode1207. 独一无二的出现次数(python)
  • C++ 多线程学习
  • 眨个眼就学会了Pixi.js
  • 软件测试练手项目,以及项目操作流程
  • .NET Core6.0环境下使用Autofac框架对webAPI进行依赖注入改造
  • Python 中 如何向函数传递列表?
  • 【第十一届“泰迪杯”数据挖掘挑战赛】B题产品订单的数据分析与需求预测“解题思路“”以及“代码分享”