Maven的dependency管理问题

maven作为项目管理工具,其功能的确是没说的,第三方jar包依赖管理更是非常方便。但是在使用maven的过程中,发现有些第三方jar包所依赖的包并不需要却也被打包进来了,没办法,只有手动一个一个的exclude,十分痛苦。突然又想起了ant的好来,虽然ant使用起来管理jar不太方便,但是灵活是没得说,放在哪里全有自己说了算。何况还有Erik Hatcher(《Java Development with Ant》的作者之一)大师的忠告,按照他的做法就非常好。AppFuse的ant使用方式就是源于此,实践也证明了其非常可行。但是有很多jar都要自己一一来管理,的确也有点麻烦。与此同时,Ivy()的出现似乎正是时候,Ivy的目的只是关注依赖管理,简单而又灵活。这也印证了那句古话,“术有专攻”。至于如何选择也的确很难,不能说maven有这么一点点瑕疵就因此弃而不用了。Ant虽说XML配置长达2000行,但也有其优点,如果使用的好,也能达到很好的效果,比如分多个xml,一方便可以重用,也便于维护。如果你对groovy比较了解,也可以借助groovy-ant了。Ivy在依赖管理方便的确非常出色,但是其他地方就无用武之地了。而实际项目,则可以maven+ant,或者ant+ivy的组合来使用,各取所长,相得益彰。 1 Maven http://maven.apache.org 2 Ant http://ant.apache.org 3 Ivy http://www.jaya.free.fr/ivy/分享家:Addthis中国

Leave a Reply





◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。