一、本章介绍
通过 Nginx 部署静态网页,并将 archetype-catalog.xml 文件放置在对应的网页目录下,从而通过 HTTP 方式对外提供访问地址,以支持 Maven 脚手架的远程配置使用。
这样设计的主要目的是提供一个统一的公共访问入口,使所有使用者只需配置该 HTTP 地址,即可直接获取脚手架定义,实现工程模板的集中管理与便捷复用。
二、流程设计
如图,部署网页版后用户使用流程;

当访问 Maven 中央仓库(
https://repo.maven.apache.org/maven2/)时,可以发现仓库根目录下提供了一个archetype-catalog.xml文件。该文件定义了当前仓库中可供使用的 Maven Archetype(脚手架)列表,Maven 正是通过读取这份配置来发现和加载脚手架。因此,我们也可以采用相同的方式,自行搭建一个静态网页,并将自定义的
archetype-catalog.xml放置到对应目录下,对外提供 HTTP 访问地址。这样,客户端只需配置该 Catalog 地址,即可识别并使用我们维护的脚手架。完成上述配置后,所有接入该 Catalog 的用户都能够直接使用这套脚手架创建项目。需要注意的是,
archetype-catalog.xml仅负责提供脚手架索引信息,而真正创建工程时,Maven 仍会根据其中配置的坐标,从对应的 Maven 私服仓库下载脚手架 Jar 包完成项目生成。
三、网页部署
1. 本地部署

- docker-compose-app.yml 添加了 nginx 配置。通过 nginx 部署前端项目。
- Mac 电脑,在本地安装好了 Docker 以后,直接在 Intellij IDEA 点击绿色箭头就可以部署了。
- Windows 电脑,要启动 wsl 安装 Docker 后,在 powershell 进入工程文件夹,执行
docker-compose -f docker-compose-app.yml up -d - 注意,archetype-catalog.xml 文件,里面的版本,要和发布脚手架jar的pom里的版本一致。
<version>1.1</version>
2. 云服务器
2.1 上传脚本

然后访问就能看到这个内容了:https://codec.fastn.top/archetype-catalog.xml
3. 借助其他(Git Page)
除此之外,我们可以基于 GitHub Page 部署网页,它是免费的,并会给你一个二级域名地址。
教程:https://docs.github.com/en/pages/quickstart
这里给大家提供 GitHub Page 模板,你可以直接克隆部署。
- 仓库:https://github.com/lixuanfengs/lixuanfengs.github.io
- 说明:这是一个 docsify 的博客仓库地址,一些必要的简单配置信息已经帮你处理好了,直接使用即可。
3.1 第一步:Fork

打开 :https://github.com/lixuanfengs/lixuanfengs.github.io
3.2 第二步:配置

- 点击 Setting 进入 General 配置工程名称页面。
- 注意 :你必须把
https://lixuanfengs.github.io修改为你的名称xxx.github.io这里的 xxx 就是你的GitHub的名称,也是 https://github.com/{xxxx} 链接后面的名称,不要修改错了,否则你就失败了。
3.3 第三步:开启

- 点击 Setting 进入 Page 页面
- 按照上图修改博客资源空间到
root文件夹下,这个步骤是选择博客空间地址,记得不要配置错了。
3.4 第四步:访问
好了,当你在配置后看到已经提醒你 Your site is published at https://lixuanfengs.github.io 证明你成功了,你可以访问自己的博客地址了。
3.5 第五步:上传

在 root文件夹下,上传脚手架文件。
四、配置使用
1. 配置地址

- 配置你的脚手架地址,部署到哪里,就使用哪里的路径。云服务器部署可以用IP,或者你有域名映射到服务器也可以。
2. 创建使用

- 使用脚手架,githubpage的速度比较慢 ,有时候也有可能拉不出来。自己部署的云服务器速度会更快。