依賴
(+) (#)java
必需依賴
![](http://static.javashuo.com/static/loading.gif) |
理論上Dubbo能夠只依賴JDK,不依賴於任何三方庫運行,只需配置使用JDK相關實現策略。 |
缺省依賴
經過mvn dependency:tree > dep.log命令分析,Dubbo缺省依賴如下三方庫:spring
[INFO] +- com.alibaba:dubbo:jar:2.1.2:compile
[INFO] | +- log4j:log4j:jar:1.2.16:compile
[INFO] | +- org.javassist:javassist:jar:3.15.0-GA:compile
[INFO] | +- org.springframework:spring:jar:2.5.6.SEC03:compile
[INFO] | +- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] | \- org.jboss.netty:netty:jar:3.2.5.Final:compile
|
這裏全部依賴都是換照Dubbo缺省配置選的,這些缺省值是基於穩定性和性能考慮的。json
- log4j.jar和commons-logging.jar日誌輸出包。
- 能夠直接去掉,dubbo自己的日誌會自動切換爲JDK的java.util.logging輸出。
- 但若是其它三方庫好比spring.jar間接依賴commons-logging,則不能去掉。
- javassist.jar 字節碼生成。
- 若是<dubbo:provider proxy="jdk" />或<dubbo:consumer proxy="jdk" />,以及<dubbo:application compiler="jdk" />,則不須要。
- spring.jar 配置解析。
- 若是用ServiceConfig和ReferenceConfig的API調用,則不須要。
- netty.jar 網絡傳輸。
- 若是<dubbo:protocol server="mina"/>或<dubbo:protocol server="grizzly"/>,則換成mina.jar或grizzly.jar。
- 若是<protocol name="rmi"/>,則不須要。
可選依賴
如下依賴,在主動配置使用相應實現策略時用到,需自行加入依賴。api
- mina: 1.1.7
- grizzly: 2.1.4
- httpclient: 4.1.2
- hessian_lite: 3.2.1-fixed
- xstream: 1.4.1
- fastjson: 1.1.8
- zookeeper: 3.3.3
- jedis: 2.0.0
- xmemcached: 1.3.6
- jfreechart: 1.0.13
- hessian: 4.0.7
- jetty: 6.1.26
- hibernate-validator: 4.2.0.Final
- zkclient: 0.1
- curator: 1.1.10
- cxf: 2.6.1
- thrift: 0.8.0
JEE:網絡
- servlet: 2.5
- bsf: 3.1
- validation-api: 1.0.0.GA
- jcache: 0.4