之前一直在一些导入的开源工程里编写一些Java代码,所以不怎么遇到依赖问题,最近学习Hadoop,由于安装的是2.4.0版本,在编写hadoop、hbase相关程序的时候,遇到一些依赖问题难以解决,网上搜索结果无论英文还是中文一般都是hadoop 1.x的版本,但是1.x和2.x的包结构根本不一样,尝试了很久手动搜索然后一个一个jar包导入的方式,最后还是提示有问题,这时候我想到了maven工具,虽然一直没有真正使用过,但是知道它在管理依赖方面有很大的优势,所以这两天粗略学习了一下。
学习一个东西最好的(最适合我的)方式,还是去official site看 getting started 之类的tutorial, 在看过30分钟的入门教程之后(实质follow完远不止30分钟),对Maven有了一个初步的了解,已经能够使用它来创建工程和导入第三方的Jar包了。
getting started里提到的都是一些最常见的标签,于是我又尝试阅读了一下两个开源项目的POM文件,试着往自己工程的POM里添加相应的标签,最终终于成功编译了一个hbase的程序,之后又尝试了一些restlet等框架,总体感觉maven在解决依赖关系方面确实非常强大,当然Maven远不止是一个为依赖关系而设计的工具,还需要进一步的学习和体会 。
在开始之前,除上官网教程中生成maven工程的命令:相关的package和jar名都可以修改
1 2 3 4
| mvn archetype:generate \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DgroupId=com.mycompany.app \ -DartifactId=my-app
|
Read More