c++ - 从 Maven 访问自定义(非 Java) Artifact 存储库

标签 c++ c maven repository

我正在寻找一种使用 Maven 访问自定义的、非 Java 的 Artifact 存储库的方法。我们有一个 Artifact 存储库(或多或少)由 Windows 共享上的一堆 zip 文件(包含 native 可执行文件、头文件等)组成。这些由 Ruby 脚本访问,该脚本可以根据需要具体化/解压缩这些 Artifact 。还有一些 Artifact 没有存储在磁盘上,而是从其他地方(例如 Subversion)具体化。

我希望能够将这些存储库集成到 Maven 构建中,以便(例如)集成测试可以使用 native Artifact 中的 .exe 和 .dll 文件。我看过 Nexus 和 Artifactory,但很难说它们适合这种情况的程度。大多数关于“自定义布局”的文档似乎都假定我们在谈论某种 Java Artifact 。

最佳答案

忘记这些东西被称为“Maven 存储库”的事实,虽然 Maven 对存储库结构有一定的期望,但几乎所有其他 Java 构建工具都使用同样的结构。将这些东西视为具有坐标的 Artifact 的一般存储:groupId、artifactId、version、qualifier。

一个好的存储库管理器不关心你在这个存储库中存储了什么。它可以是一个 ZIP 文件,一个 EXE,任何你想存储的东西。它所关心的只是 Artifact 存储在这个存储库结构中。当您使用存储库管理器时,您最终得到的是一组可通过这些坐标寻址的 Artifact 。

我使用存储库管理器来做一些与 Java 无关的事情,包括存储部署过程中使用的 ZIP 文件。我使用 curl 访问我的存储库管理器。在这种情况下,它可以被视为一个简单的 REST 可访问位桶,它将一些结构应用于您存储在其中的文件。

(另外,请注意我的回答不是针对 Artifactory 或 Nexus 的营销。;-)

关于c++ - 从 Maven 访问自定义(非 Java) Artifact 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11004068/

相关文章:

c++ - 无法使用访问器设置私有(private)静态成员变量

c++ - 使用体素几何体进行光照贴图

c - xv6: 不使用 ticks 锁直接读取 ticks?

mysql - JBoss Wildfly 10 MYSQL 驱动程序安装问题

C++ - 从控制台获取字节

c++ - 如何实现协议(protocol)适配器

c - 显示无边框图片并退出纯c

c - 无法将 linux 程序的输出存储到文件中

java - eclipse中Hudson的配置

Maven 插件来处理许可证?