本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置并使用 mvn
您可以使用 mvn
命令来运行 Maven 构建。您必须将 mvn
配置为使用程序包存储库,并提供用于身份验证的个人访问令牌(PAT)。
从中获取依赖关系 CodeCatalyst
mvn
要配置为从 CodeCatalyst 存储库获取依赖项,必须编辑 Maven 配置文件settings.xml
,也可以编辑项目的项目模型对象 (POM) 文件。POM 文件包含有关项目的信息以及 Maven 构建项目所需的配置信息,例如依赖项、构建目录、源目录、测试源目录、插件和目标。
用于mvn
从 CodeCatalyst 软件包存储库中获取依赖项
-
打开 CodeCatalyst 控制台,网址为 https://codecatalyst.aws/
。 -
在项目的概述页面上,选择程序包。
-
从程序包存储库列表中,选择您的程序包存储库。
-
选择连接到存储库。
-
在连接到存储库对话框中,从程序包管理器客户端列表中选择 mvn。
-
您需要使用个人访问令牌 (PAT)
mvn
进行身份验证 CodeCatalyst。如果您已有一个 PAT,则可以使用它。如果没有 PAT,您可以在此处创建一个。-
选择创建令牌。
-
选择复制以复制您的 PAT。
警告
关闭此对话框后,您将无法再次查看或复制您的 PAT。
-
-
将包含存储库的配置文件添加到
settings.xml
文件。替换以下值。注意
如果通过控制台指令进行复制,则以下值将进行更新且不应更改。
-
space_name
替换为您的 CodeCatalyst空间名称。 -
proj_name
用您的 CodeCatalyst项目名称替换。 -
repo_name
替换为你的 CodeCatalyst软件包存储库名称。
<profiles> <profile> <id>
repo_name
</id> <activation> <activeByDefault>true</activeByDefault> </activation> <repositories> <repository> <id>repo_name
</id> <url>https://packages.region
.codecatalyst.aws/maven/space_name
/proj_name
/repo_name
/</url> </repository> </repositories> </profile> </profiles> -
-
将服务器添加到
settings.xml
文件中的服务器列表。替换以下值。注意
如果通过控制台指令进行复制,则以下值将进行更新且不应更改。
-
repo_name
替换为你的 CodeCatalyst软件包存储库名称。 -
username
用您的 CodeCatalyst 用户名替换。 -
PAT
用您的 CodeCatalyst PAT 替换。
<servers> <server> <id>
repo_name
</id> <username>username
</username> <password>PAT
</password> </server> </servers> -
-
(可选)在
settings.xml
文件中设置镜像,以捕获所有连接并将它们路由到您的存储库,而不是网关存储库。注意
如果通过控制台指令进行复制,则以下值将进行更新且不应更改。
-
space_name
替换为您的 CodeCatalyst空间名称。 -
proj_name
用您的 CodeCatalyst项目名称替换。 -
repo_name
替换为你的 CodeCatalyst软件包存储库名称。
<mirrors> <mirror> <id>
repo_name
</id> <name>repo_name
</name> <url>https://packages.region
.codecatalyst.aws/maven/space_name
/proj_name
/repo_name
/</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors> -
重要
可以在 <id>
元素中使用任何值,但必须与 <server>
和 <repository>
元素中的值相同。这样,就可以将指定的凭据包含在对的请求中 CodeCatalyst。
更改这些配置后,就可以构建项目了。
mvn compile
通过以下方式从外部软件包存储库获取软件包 CodeCatalyst
您可以通过存储库从公共存储库安装 Maven 软件包,方法是将其配置为与代表网关存储库的网关的上游连接。 CodeCatalyst从网关存储库安装的软件包会被提取并存储在您的存储 CodeCatalyst库中。
目前, CodeCatalyst 支持以下公共 Maven 软件包存储库。
-
maven-central-gateway
-
google-android-gateway
-
gradle-plugins-gateway
-
commonsware-gateway
从公共 Maven 程序包存储库安装程序包
-
如果您还没有,请
mvn
按照中的步骤使用您的 CodeCatalyst软件包存储库进行配置从中获取依赖关系 CodeCatalyst。 -
确保您的存储库已将要从中安装的网关存储库添加为上游连接。要查看添加了哪些上游源或要将网关存储库添加为上游源,请按照添加上游存储库中的说明操作。
有关从上游存储库请求程序包的更多信息,请参阅请求包含上游存储库的程序包版本。
将包发布到 CodeCatalyst
要将 Maven 包发布mvn
到 CodeCatalyst 存储库,还必须编辑~/.m2/settings.xml
和项目 POM。
用于将包发布mvn
到您的软件 CodeCatalyst 包存储库
-
打开 CodeCatalyst 控制台,网址为 https://codecatalyst.aws/
。 -
在项目的概述页面上,选择程序包。
-
从程序包存储库列表中,选择您的程序包存储库。
-
选择连接到存储库。
-
在连接到存储库对话框中,从程序包管理器客户端列表中选择 mvn。
-
您需要使用个人访问令牌 (PAT)
mvn
进行身份验证 CodeCatalyst。如果您已有一个 PAT,则可以使用它。如果没有 PAT,您可以在此处创建一个。-
选择创建令牌。
-
选择复制以复制您的 PAT。
警告
关闭此对话框后,您将无法再次查看或复制您的 PAT。
-
-
在本地机器上使用 PAT 配置环境变量。您将在
setting.xml
文件中使用此环境变量。export CODECATALYST_ARTIFACTS_TOKEN=
your_PAT
-
在
settings.xml
中添加一个引用CodeCatalyst_ARTIFACTS_TOKEN
环境变量的<servers>
部分,以便 Maven 可在 HTTP 请求中传递令牌。<settings> ... <servers> <server> <id>
repo-name
</id> <username>username
</username> <password>${env.CodeCatalyst_ARTIFACTS_TOKEN}</password> </server> </servers> ... </settings> -
将
<distributionManagement>
部分添加到项目的pom.xml
。<project> ... <distributionManagement> <repository> <id>
repo_name
</id> <name>repo_name
</name> <url>https://packages.region
.codecatalyst.aws/maven/space_name
/proj_name
/repo_name
/</url> </repository> </distributionManagement> ... </project>
更改这些配置后,就可以开始构建项目并将项目发布到指定的存储库。
mvn deploy
您可以在 CodeCatalyst 控制台中导航到您的软件包存储库,以检查软件包是否已成功发布。
发布第三方程序包
您可以使用将第三方 Maven 包发布到 CodeCatalyst 存储库。mvn
deploy:deploy-file
这对于想要发布程序包且只有 JAR 文件且无权访问程序包源代码或 POM 文件的用户很有用。
mvn deploy:deploy-file
命令会根据命令行中传递的信息生成 POM 文件。
首先,创建一个 PAT(如果您没有 PAT)。
创建个人访问令牌(PAT)
-
在顶部菜单栏中,选择您的个人资料徽章,然后选择我的设置。
提示
您还可以通过转到项目或空间的成员页面,然后从成员列表中选择您的姓名,找到您的用户个人资料。
-
在 PAT 名称中,为您的 PAT 输入描述性名称。
-
在到期日期中,保留默认日期,或者选择日历图标以自定义日期。到期日期默认为从当前日期起一年后。
-
选择创建。
当为源存储库选择克隆存储库时,也可以创建此令牌。
-
将 PAT 密钥保存在安全位置。
重要
PAT 密钥仅显示一次。关闭窗口后将无法再检索该密钥。
发布第三方 Maven 程序包
-
创建
~/.m2/settings.xml
文件并输入以下内容:<settings> <servers> <server> <id>
repo_name
</id> <username>username
</username> <password>PAT
}</password> </server> </servers> </settings> -
运行
mvn deploy:deploy-file
命令:mvn deploy:deploy-file -DgroupId=commons-cli \ -DartifactId=commons-cli \ -Dversion=1.4 \ -Dfile=./commons-cli-1.4.jar \ -Dpackaging=jar \ -DrepositoryId=
repo-name
\ -Durl=https://packages.region
.codecatalyst.aws/maven/space-name
/proj-name
/repo-name
/注意
前面的示例发布
commons-cli 1.4
。修改 groupID、artifactID、version 和 file 参数来发布另一个 JAR。
这些说明基于 Apache Maven 文档中关于 JARs 将第三方部署到远程存储库的指南
有关更多信息,请参阅 Apache Maven Project 网站上的以下主题: