我想知道是否有可能阻止Maven 3.0下载旧库并仅使用不同的版本。 (更喜欢本地存储和我手动下载Javadoc和源代码的版本)
例如使用JUnit 3.8.2,4.8.1和最新的4.x,但从不< 3.8.1,4.5,4.6-Snapshot等。
背景:我的第一个驱动器(SSD)上的实际项目和本地存储空间有限。
如果我尝试maven原型开始一个新项目(通常用于学习新主题),maven就像下载即junit 4.5
但我不喜欢手动编辑pom查看我的本地版本,考虑兼容性
我不喜欢一次又一次地清除和下载首选的依赖项。
是否有任何工具,插件,设置或最佳做法可以实现这一目标?
到目前为止我尝试了什么......
going Offline无法为doc + src手动下载我首选的IDE商品 => “无法解决依赖关系......存储库系统处于脱机状态,但工件......在本地存储库中不可用。”
现在的最佳做法是(netbeans)在上下文菜单中“删除
dependecy“on project and
”Add as Dependecy ..“from local repository
树。 (如screenshots?)
答案 0 :(得分:1)
在阅读了很多新内容后,我终于同意Spencer Kormos:
如果您正在使用原型,那么您无能为力......
现在最佳做法是:
小解决方案
- 使用原型制作pom
- 在pom的顶部添加<dependencyManagement../>
来描述首选的依赖关系
- 添加<scope>provided</scope>
- 可选地,您可以添加<exclusions.. />
- 删除生成的pom中有冲突的<version../>
标记
- 我将用于复制/粘贴其他项目的<dependencyManagement../>
部分
更好的解决方案(希望如此)?
- 使用<dependencyManagement../>
首选工件创建父/主pom
- 使用from archetype生成的pom作为模块或子项目
- 使用主pom将依赖关系分组为<packaging>pom</packaging>
我最后一天阅读的一些内容只允许两个链接:-(
Maven-Model(在project下查找dependencyManagement)
Maven: The Complete Reference, Chapter 3.6.1. Grouping Dependencies
答案 1 :(得分:0)
如果您在pom.xml中指定版本(作为依赖项,或从依赖项中排除旧版本),则不应下载除指定(或排除)之外的任何其他jar。