使用 ansible maven_artifact 获取 jar-with-dependencies
Get jar-with-dependencies using ansible maven_artifact
是否可以使用 ansible
包 maven_artifact
获得 Java jar-with-dependencies?
现在介绍一下上下文:
- 我有一个简单的 Java 应用程序。这意味着我需要为这个应用程序生成一个 jar-with-dependencies 类型的 jar 才能作为一个独立的可执行文件。
- 我在注册表中使用
mvn deploy
推送我的 jar(在我的例子中:Nexus)
- 我正在使用 Ansible 来部署我的应用程序,使用
maven_artifact
包似乎是一个明智的选择(我想它比我想的更好地管理幂等性).
从逻辑上讲,当我这样做时,我得到了简单的 jar(没有所有依赖项)而不是 jar-with-dependenices.
您可以按照以下步骤执行此操作:
- 确保您的
jar-with-dependencies
已通过特定的 classifier
上传到 Nexus,例如full
。有关 classifier
的更多信息,请查看 Maven documentation。
- 使用 Ansible maven_artifact module 的
classifier
属性指向您的 full
神器。
这是我的答案:
文件组织应该是:
roles/fetch-my-awesome-jar/tasks/main.yml
以及内容:
---
- name: fetch my awesome jar
maven_artifact:
group_id: my.awesome.group.id
artifact_id: my-awesom-artifact-id
version: my.awesome.version.number
classifier: jar-with-dependencies
extension: jar
repository_url: http://my-local-nexus:<port>/repository/my-awesome-repo/
username: my-username
password: my-password
dest: my-awesome-target-directory
我使用的 maven_artifact
版本删除了 jar-with-dependencies
分类器。
是否可以使用 ansible
包 maven_artifact
获得 Java jar-with-dependencies?
现在介绍一下上下文:
- 我有一个简单的 Java 应用程序。这意味着我需要为这个应用程序生成一个 jar-with-dependencies 类型的 jar 才能作为一个独立的可执行文件。
- 我在注册表中使用
mvn deploy
推送我的 jar(在我的例子中:Nexus) - 我正在使用 Ansible 来部署我的应用程序,使用
maven_artifact
包似乎是一个明智的选择(我想它比我想的更好地管理幂等性).
从逻辑上讲,当我这样做时,我得到了简单的 jar(没有所有依赖项)而不是 jar-with-dependenices.
您可以按照以下步骤执行此操作:
- 确保您的
jar-with-dependencies
已通过特定的classifier
上传到 Nexus,例如full
。有关classifier
的更多信息,请查看 Maven documentation。 - 使用 Ansible maven_artifact module 的
classifier
属性指向您的full
神器。
这是我的答案:
文件组织应该是:
roles/fetch-my-awesome-jar/tasks/main.yml
以及内容:
---
- name: fetch my awesome jar
maven_artifact:
group_id: my.awesome.group.id
artifact_id: my-awesom-artifact-id
version: my.awesome.version.number
classifier: jar-with-dependencies
extension: jar
repository_url: http://my-local-nexus:<port>/repository/my-awesome-repo/
username: my-username
password: my-password
dest: my-awesome-target-directory
我使用的 maven_artifact
版本删除了 jar-with-dependencies
分类器。