java 依赖管理_java – 依赖管理与maven

我最近成了Maven的大粉丝,用于控制我的应用程序的构建周期.然而,我遇到了一些粗暴的边缘与Maven的依赖管理.我想知道这些是否是工具和范例的限制,依赖管理的必要的邪恶,或者我是否使用错误的工具.

>首先是传递依赖关系的问题.据了解,如果您提供依赖关系,Maven将依次找到依赖关系.这是伟大的,但对于我的许多依赖,这没有奏效.例如,在我的项目中包括Hibernate:

org.hibernate

hibernate-core

3.3.2.GA

导致slf4j的依赖关系丢失.我需要手动添加这个依赖关系,我认为这将是Maven的工作.春天也一样.如果我将Spring-MVC添加为依赖关系,那么不应该为我添加所有基本的servlet依赖关系(因为Spring-MVC需要这些东西)?我指的是servlet,jsp,jstl库.

>二是仓库的管理. Maven附带了一个默认的主存储库,但是我发现在许多情况下,这个存储库不是最新的.例如,如果你想要spring3,你必须手动添加springource存储库,如果你想要hibernate 3.5,你必须添加jboss存储库.当您必须自行追查正确的存储库时,似乎打破了自动依赖关系管理的要点.这个狩猎很快就会变得复杂.例如添加Spring3,您可能希望春季发行回购,春季外汇回购和春季里程碑式回购.

>与第2号密切相关的是确保您具有正确版本的工件.通过为给定的工件包含错误的依赖工件的版本,我已经被烧了几次.例如对于spring3的servlet / jsp / jstl apis的错误版本,或者hibernate的持久性/注释apis的错误版本.这些存储库充满了许多版本,其中有些是令人困惑的名称,如productx-3.ga,productx-3-rc1,productx-3-SNAPSHOT,productx-3-cr,product-3-beta等.其中一些是显而易见的(rc = release候选),但是尝试确定这些版本的顺序可能会令人困惑.

>最后,类型的问题依赖.我可能只是不太了解这个,但是很多repo工件是类型“pom”而不是“jar”.几次我已经在我的项目中添加了一个依赖项jar,只能在构建时找到repo jar实际不存在(例如,在jboss repo中是org.hibernate ejb3-persistence).

通过一些实验,我通常可以得到一个构建工作,但是依赖管理一般这个复杂?我仍然喜欢这种方法手动添加jar文件到我的项目,但我有兴趣了解如何提高我的maven依赖管理技能.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值