我如何系统地确定我需要哪些罐子,因此应该包含在我的pom.xml文件中(我使用maven作为我的项目管理工具)?
学习spring时,为了简单起见,将所有的jar(甚至是我从未使用过的jar)添加到classpath中。
现在大部分时间,我猜测要包含哪些罐子。例如,我知道在我的spring配置文件中,我有:
<tx:annotation-driven />
<context:annotation-config />
<aop:aspectj-autoproxy />
所以,我想我需要:spring-context-x.x.x.jar,spring-tx-x.x.x.jar,spring-aop-x.x.x.jar
感谢。
答案 0 :(得分:3)
我只看到两种可能的选择。之一:
答案 1 :(得分:3)
对于查找哪些JAR包含哪些类及其相关依赖项的一般问题,您可以尝试http://www.jarvana.com/jarvana/。它需要一个类名作为输入,并吐出一堆Maven依赖项,你可以使用它来获得所述类。
特别是对于Spring,我相信你必须参考它的文档。如果您对Maven有IDE支持,通常只需填写spring groupId(org.springframework)并激活<artifactId></artifactId>
内的自动完成即可查看哪些JAR可用。 Spring文档中的主要部分往往有自己独立的jar。
我相信您已经看到,另一个需要单独JAR的好指标是applicationContext.xml文件中使用的XML命名空间。例如,这是使用aop,tx和beans的项目中的XML根节点:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"
default-autowire="byName">
上面的示例意味着您需要spring-beans,spring-aop和spring-tx JAR(Spring的JAR命名相当一致)。我不确定以上是否总是如此,但它至少应该给你一个指示。
答案 2 :(得分:1)
完全忘记JAR文件的一种简单方法是使用nexus。
如果您是公司,则可以设置自己的Nexus服务器。如果没有,请使用公共服务器,例如http://repository.sonatype.org
(注意:我还没有使用它,因为我们有自己的)并搜索库。
找到图书馆后,将<dependency> ... </dependency>
部分复制/粘贴到您的POM文件中,就可以了。
我忘记了我们如何将maven与nexus服务器联系起来,但这并不太难......做一些搜索,你就是金色的。不再担心JAR文件!