另一个部门在他们的网络上有一个 Maven 存储库。这包括外部第 3 方工件(java 库),以及他们自己的工件(他们自己的软件)。
我希望能够访问他们的存储库,因为我无法访问第 3 方库的 maven Central(安全策略)。
他们的服务器位于防火墙后面,他们不会授予我访问所需端口的权限——因为他们担心我可以访问他们的工件。
因此,我想建议他们为我设置一个“Maven 代理”。这将只有一个上游仓库(他们的完整仓库),但需要过滤工件,所以我无法从树的“com.mycompany.theirdepartment”部分访问任何内容。
该代理很可能与原始存储库位于同一台服务器上 - 即在他们的资源上,而不是我的资源上。如果我们推出一个全新的 nexus、archiva 或 artifactory 实例,这很简单。
然后我可以要求更改防火墙,这样我就可以访问这个代理,它只允许我访问树的非敏感部分。
但是,上述应用程序的标准推出将涉及它们自己的缓存。即他们会缓存从上游“完整”存储库中获得的数据。这可能会导致所有工件在服务器上存储两次 - 在他们的服务器上......他们不会对此感到满意!
任何人都可以建议一个纯粹充当代理的工具(或其配置),它不会缓存它从上游提取的依赖项吗?
我意识到这是一个可怕的要求,但公司政治正在将常识抛到脑后!
一种明显的替代方法是用户用户/凭据。他们目前正在使用档案,我找不到任何关于能够轻松/可靠地进行设置的文档。要求他们转移到 Nexus 并正确设置它比代理更具侵入性 - 如果没有我可以按照上述使用的工具,则必须是最后的手段......