Ant是过程式的,开发者显式地指定每一个目标,以及完成该目标所需要执行的任务。针对每一个项目,开发者都需要重新编写这一过程,这里其实隐含着很大的重复。Maven是声明式的,项目构建过程和过程各个阶段所需的工作都由插件实现,并且大部分插件都是现成的,开发者只需要声明项目的基本元素,Maven就执行内置的、完整的构建过程。这在很大程度上消除了重复。
Ant是没有依赖管理的,所以很长一段时间Ant用户都不得不手工管理依赖,这是一个令人头疼的问题。幸运的是,Ant用户现在可以借助Ivy管理依赖。而对于Maven用户来说,依赖管理是理所当然的,Maven不仅内置了依赖管理,更有一个可能拥有全世界最多Java开源软件包的中央仓库,Maven用户无须进行任何配置就可以直接享用。
maven分模块开发项目!ant最主要是依赖管理不好做。
在pom.xml中
groupId用来表示项目的名称,当你用Maven install时,打包的文件就在Maven仓库路径下的groupId路径中。
artifactid用来表示项目的模块名称,建议使用项目的名称-模块名称来表示。
version表示这个项目版本名称。
固定的放置:
源代码应该放置到src/main/java中
源代码的资源文件放置在src/main/resources文件夹中
测试代码放置在src/test/java中
测试代码的资源文件放置在scr/test/resources文件夹中
mvn clean -->表示运行清理操作(会默认把target文件夹中的数据清理)
mvn clean compile -->表示先运行清理之后运行编译,将代码编译到target文件夹中
mvn clean test-->运行清理和测试
mvn clean package-->运行清理和打包
mvn clean install -->运行清理和安装,会将打好的包安装到本地仓库中,以便其他的项目可以依赖调用
mvn clean deploy -->运行清理和发布(发布的私服上),这时maven寻找依赖时,如果本地仓库找不到就到私服上找,私服上找不到就到中央仓库找
1.依赖 2.仓库 3.生命周期和插件
依赖: