maven用了一下,看了官方文档,感觉还行,但是一直心里有个问题,就是dependencies
maven自动生成的project,有些  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>比如我现在要用到apache的commons-io.jar包,用了里面的FileUtils类,现在在Eclipse里面是报错的,说找不到该类,目前这个jar包也是没有的,那怎么样才能找到这个包,难道是再手动写个<dependency></dependency>,然后把commons-io.jar加进去,这样的话,使用者要很了解java的开源的包,包括包名称、版本号等,那我觉得还不如ant,直接能链接。

解决方案 »

  1.   

    noant的包管理,是平铺的,而maven是树状的。也就是说,你的工程使用了struts,那你还需要手工添加N个commons-xxxx
    而如果你在工程里面注明了依赖struts,那么,maven就自动导入commons-xxxx,如果commons-aaa还依赖bbb的话,bbb也会自动导入。你说那个方便。
      

  2.   

    就像楼上说的,Maven在包管理方面还是比较方便的。
    关联包会被自动导入。
    要是ANT你就必须把一个个包全都手动弄进来。还可能出现版本不匹配的问题。
      

  3.   

    我的意思是,你们要某个包的时候,也是去 www.ibiblio.org 上查询么,找到后,把
       <dependency>
          <groupId>common</groupId>
          <artifactId>common-io</artifactId>
          <version>1.2.2</version>
          <scope>compile</scope>
        </dependency>
    注意:上面的这个dependency 是自己手动写在Pom.xml里的
      

  4.   

    1楼是对的,举个例子:你想要:a.jar包,你只要在pom.xml中配置
    <dependency>
      <groupId>group....</groupId>
      <artifactId>a</artifactId>
      <version>1.0</version>
      </dependency>这样,你的项目就有a.jar的引用了,如果在a.jar的pom.xml文件中,引用了b.jar,那么Maven会自动的把b.jar也加入到你的项目中,以此类推。用Maven真的很爽。