由于之前是从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 后,再执行上面的命令即可。