Maven可以管理内部和外部依赖。一个Java项目的外部依赖可能是如Plexus,Spring
Framework,或者Log4J的类库。一个内部的依赖就像在“一个简单的web应用”中
描述的那样,web项目依赖于另外一个包含服务类,模型类,或者持久化逻辑的项
目。例 9.3 “项目依赖”展示了一些项目依赖的例子。
例. 项目依赖
…
org.codehaus.xfire
xfire-java5
1.2.5
junit
junit
3.8.1
test
org.apache.geronimo.specs
geronimo-servlet_2.4_spec
1.0
provided
…
这里的第一个依赖是对于来自Codehaus的XFire SOAP库的编译范围(compile)依赖。
如果你的项目在编译,测试,和运行中都依赖于一个类库,你就要使用这种依赖。第
二种依赖是一个对于JUnit测试范围(test)的依赖。当你只有在测试的时候才引用类
库的时候,你就要使用测试范围依赖。例 9.3 “项目依赖”中最后一个依赖是对于由
Apache Geronimo项目实现的Servlet 2.4 API的依赖。最后一项依赖的范围是已提供的
(provided)依赖。当你的开发过程只有在编译和测试时需要一个类库,而该类库在运
行的时候由容器提供,那么你就需要使用已提供范围的依赖。