由于之前是从C++代码阵营中转到java阵营的(这里可能还会转到scala阵营中)。在写工程代码的时候,如果是只是简单的创建java project的话,当然也是可以的。但是,随着项目慢慢扩大,组件越来越多,需要维护的依赖包就非常之多。然而,在这里有一点非常重要——查看源码(特别是针对开源项目)。当你针对某个问题需要查看源码的时候,如果你仅仅是创建简单的java project的工程的话,那你想查看依赖包的源码的话,就必须在build path中添加对应依赖包的源码路径才可以查看,并且前提是你已经下载了对应的源码。这样一来,随着依赖包的数量增多,需要手动的每一个去添加,那是相当的麻烦。那么有没有更好的办法呢?答案当然是肯定的,那就是用maven。
刚开始不理解maven的,可能觉得不知道如何去添加依赖包。对的,不错网上的确有很多与maven相关的教程,但是我发现我看了一些教程后,还是不明白。没办法,只有继续硬着头皮,动手捣鼓。通过编写一个简单的程序,并且该程序会依赖其他的包。在这个过程中对于我的IDE(eclipse)出现了一些问题。
1、IDE
由于现在maven都已经集成到对应的eclipse当中了。因此,不需要你下载插件安装,eclipse中已经集成了,你所需要做的就是创建maven project。但是在创建maven project的时候,有出现了一些小问题:
在网上的一些教程中,创建maven project的时候就会立刻有如下的目录:
奇怪的是,我在创建maven project的时候,却并没有上图红色框里面的maven依赖。于是困扰了我很久,并且不断的在网上查资料。时间一分一分的过去,等我回过头来查看IDE,无意中发现eclipse中有了对应的maven依赖向。仔细一下,原来它会自动的下载对应的jar包并且产生了相应的maven依赖,刚开始创建的时候由于没有对应的依赖包,所以它就不显示,有了依赖包会自动下载并显示出来。
2、添加依赖包的技巧
对于maven来讲,其主要的工作就是要知道需要添加什么样的依赖包,那又怎么知道需要添加什么依赖包呢?
办法就是:google。
但是google也是有技巧的,例如,在你的项目当中,需要添加一个依赖包,首先你肯定知道对应依赖包的关键字,那么久可以直接到google里面按照下面的方式搜索:
maven 依赖包关键字 dependency
出来的结果往往第一条就是。
这些依赖包,maven都是自动帮你下载对应的源码和文档的,只需要在IDE中简单的设置一下即可。在eclipse中就是:window------>Preferences------>maven 右边就会出现几个选项,将这三个勾上即可。
3、将程序打包
将整个工程打包成一个可执行的jar包,需要用到assembly工具。首先在pom.xml文件中添加一下依赖。
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.yiban.datacenter.HiveJdbcClient</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins> </build>
然后,在该工程下,执行mvn assembly:assembly即可。注意:上面的mainClass是根据你项目进行修改的主类名。,在你的工程目录的target目录下,会生成MyHDFS-0.0.1-SNAPSHOT-jar-with-dependencies.jar对应的依赖jar包。
最后,就是运行了,执行如下代码即可:
java -jar MyHDFS-0.0.1-SNAPSHOT-jar-with-dependencies.jar com.yiban.datacenter.test
4、查看源码
有时候,maven并没有自动下载源码,这个时候我们可以执行如下命令让它自行下载:
mvn dependency:sources
若该命令还是没下载成功,可以先执行以下mvn clean 后,再执行上面的命令即可。