Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
标记maven工件,以便以后重新打包确切的输出_Maven - Fatal编程技术网

标记maven工件,以便以后重新打包确切的输出

标记maven工件,以便以后重新打包确切的输出,maven,Maven,我正在寻找一种方法来标记maven用于重新打包战争的工件 由于我使用的一些依赖项取决于版本的范围,工件可能会随着时间的推移而变化,我希望能够重新发布web应用程序的特定版本(例如,当需要热修复程序时) 经过一些研究,我发现我可以使用 mvn依赖项:脱机-Dmaven.repo.local=/path 在/path和更高版本中保存所有依赖项 mvn-o-Dmaven.repo.local=/path 使用相同的工件 这是一个公平的解决方案,但需要大量存储(或维护该存储的版本控制存储库) 我正在寻找

我正在寻找一种方法来标记maven用于重新打包战争的工件

由于我使用的一些依赖项取决于版本的范围,工件可能会随着时间的推移而变化,我希望能够重新发布web应用程序的特定版本(例如,当需要热修复程序时)

经过一些研究,我发现我可以使用 mvn依赖项:脱机-Dmaven.repo.local=/path

在/path和更高版本中保存所有依赖项

mvn-o-Dmaven.repo.local=/path

使用相同的工件

这是一个公平的解决方案,但需要大量存储(或维护该存储的版本控制存储库)

我正在寻找一个更优雅的解决方案,只使用工件名称和版本,而不是实际的文件。我看到了dependency:list和dependency:tree-mojos,它们显示了所使用的依赖项,但是有没有一种方法可以告诉maven使用这个列表作为输入来避免更新工件


谢谢

你不是真的只是在找一个好朋友吗?是的,如果你想要同一个工件的一系列版本,你就要付出存储的代价(幸运的是现在还不算太坏)。我已经在使用内部maven存储库,但我不明白它如何帮助我,因为它也会随着时间的推移而更新。你说的更新是什么意思?旧的文物仍然会在那里,除非你特别清理它们?旧工件应该有不同的版本号。同样,也不是不重要的是,您应该在发布时解析您的范围,因为您不想重新发布具有不同依赖关系的相同代码……什么是“您应该在发布时解析您的范围”?这可能就是我问题的答案。用过一段时间了。从纸面上看,这似乎很理想,但却与我们背道而驰:有些工具很难通过所有可能的依赖路径(没有范围,路径就简单得多)。还有一些版本也有范围,因此与较新版本的依赖项不兼容。发布插件应该能够,但是当我们尝试这个(几年前)时,它是不可靠的。我们完全摆脱了靶场。