私有制件仓库
本节介绍如何搭建私有 Maven 仓库并代替 Jmix 公共仓库。私仓可用于缓存框架构件及其传递依赖项。如果网络不稳定或速度较慢,建议使用此方法。尽管 Gradle 在开发人员机器上缓存了下载的构件,但仍然需要不时连接到构件仓库,例如当首次构建或升级框架的版本时。
安装仓库管理软件
首先,需要在私有网络中安装并运行一个仓库管理软件。
下面的安装说明是以 Linux 为例。
-
从 https://help.sonatype.com/repomanager3/product-information/download/download-archives---repository-manager-3 下载 Nexus OSS repository manager,并解压至
~/work/nexus文件夹。 -
下载 JDK 8(比如:https://adoptium.net/temurin/releases/?version=8[^]),解压至
~/work/jdk8文件夹。 -
打开
~/.bashrc文件并添加以下内容:export INSTALL4J_JAVA_HOME=/home/$USER/work/jdk8INSTALL4J_JAVA_HOME这个环境变量指向 JDK 8 的安装目录,在运行 Nexus 时需要。-
打开终端,切换至
~/work/nexus/nexus-<version>/bin并执行:./nexus run
-
-
在浏览器打开
http://localhost:8081。 -
点击右上角的 Sign in。
-
使用
admin用户登录,密码保存在~/work/nexus/sonatype-work/nexus3/admin.password文件中。 -
修改密码。
-
在 Configure Anonymous Access 这一步中,启用仓库的匿名访问。这样能简化项目的配置。
创建 Jmix 代理仓库
Nexus 运行起来后,通过客户端配置代理仓库。
-
切换至管理界面(点击顶部的齿轮按钮),并打开 Repositories 菜单。
-
为 Jmix 公共仓库创建代理:
-
点击 Create repository 按钮。
-
选择
maven2 (proxy)类型。 -
填写内容如下:
-
Name:
jmix-public-proxy -
Version policy:
Mixed -
Remote storage:
https://global.repo.jmix.io/repository/public
-
-
点击 Create repository。
-
-
为 premium Jmix 仓库创建代理:
-
点击 Create repository 按钮。
-
选择
maven2 (proxy)类型。 -
填写内容如下:
-
Name:
jmix-premium-proxy -
Version policy:
Mixed -
Remote storage:
https://global.repo.jmix.io/repository/premium -
在 HTTP 部分,启用 Authentication 并在 Username 字段输入 Jmix 企业版许可秘钥的前半部分,在 Password 字段输入后半部分。例如,如果你的秘钥是
111111222222-abcdefabcdef,那么用户名是111111222222,密码是abcdefabcdef。
-
-
点击 Create repository。
-
-
创建一个分组,这样可以使用同一个 URL 访问两个代理仓库:
-
点击 Create repository 按钮。
-
选择
maven2 (group)类型。 -
填写内容如下:
-
Name:
jmix-proxy -
Version policy:
Mixed -
在 Group → Member repositories,将
jmix-public-proxy和jmix-premium-proxy移入 Members 列表。
-
-
点击 Create repository。
-
Jmix 项目配置
在项目的 build.gradle 文件中,将 repositories 部分替换为如下内容:
repositories {
mavenCentral()
maven {
allowInsecureProtocol true
url 'http://localhost:8081/repository/jmix-proxy'
}
}
注意,需要将 http://localhost:8081 替换成你实际配置的仓库地址。