java – 依赖管理与maven
我最近成了Maven的大粉丝,用于控制我的应用程序的构建周期.然而,我遇到了一些粗暴的边缘与Maven的依赖管理.我想知道这些是否是工具和范例的限制,依赖管理的必要的邪恶,或者我是否使用错误的工具.
>首先是传递依赖关系的问题.据了解,如果您提供依赖关系,Maven将依次找到依赖关系.这是伟大的,但对于我的许多依赖,这没有奏效.例如,在我的项目中包括Hibernate: <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.3.2.GA</version> </dependency> 导致slf4j的依赖关系丢失.我需要手动添加这个依赖关系,我认为这将是Maven的工作.春天也一样.如果我将Spring-MVC添加为依赖关系,那么不应该为我添加所有基本的servlet依赖关系(因为Spring-MVC需要这些东西)?我指的是servlet,jsp,jstl库. 通过一些实验,我通常可以得到一个构建工作,但是依赖管理一般这个复杂?我仍然喜欢这种方法手动添加jar文件到我的项目,但我有兴趣了解如何提高我的maven依赖管理技能. 解决方法
不能回答问题的所有部分,但是关于其中一些问题:
>一些可移植的依赖标记是可选的,因此不需要这些功能的人不会下载它们,但需要的人必须在他们的pom中明确设置它们.> Maven Central存储库仅包含版本.因此,它不包含Hibernate 3.5(它是beta)以及它没有包含Spring 3,直到它被释放(顺便说一句,你不需要为Spring 3指定特殊的Spring仓库 – 释放已经在Maven Central)> slf4j是一种非常特殊的依赖关系,它的运行时行为取决于你使用的slf4j的实现.因此,为了控制其行为,您必须明确指定slf4j实现>关于管理技能:获取有用的信息来维护你的pom.xml,你可以使用mvn依赖:tree(尤其是-Dverbose = true)和mvn依赖关系:analyze.检查依赖关系的pom文件以查找可选依赖??关系也是有用的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |