今天,是在简书上第一次写文章,纪念一下.(前面一堆废话,方法直接托下面,看粗体的字)
主要是感觉能把自己的所思所想,以及遇到的事情用文字记录下来,越来越重要.所以开始动手写吧.
作为一个前端,最近在被一个问题搞得莫名其妙,领导让我把项目里面的依赖的 hadoop的 jar 包合并成为一个 jar包.在心里默默骂了几遍:"我一个搞前端的,让我去弄 jdbc 依赖的 jar,还让我挑出来,合成 一个 jar,是不是有病?"之后,还是默默的开始查资料和着手做...
第一步:将 java代码导入到 eclipse(又想吐槽,我一个前端,默默地研究了一天怎么导,怎么用,但其实现在还是不明白....),不管怎么样,根据 pom 文件生成了所有的 jar.
第二步:找这些 jar, 哪些是 hadoop 依赖的 jar...这个过程很奔溃,一方面因为原来写 java代码的小哥估计也是乱弄,有好多不知道是什么东西的 jar 包都在里面;第二方面,项目中的 jdbc 功能测试不了这些 jar 包(所写的功能无法满足我的目的)..实在没招,不知道怎么办了...然后美国领导说你找个第三方 APP,然后给我推荐了 DBVisual.之后开始了一上午的研究这APP怎么用( 全英文的陌生东西刚开始总是很抵触)..但是研究之后,这个 APP 还是蛮强大的,可以测试很多数据库的连接(vertica,teradata 什么的,原来都没听过,是因为这个公司是搞大数据的,所以听到了许多数据库名字..).开始连接测试..依照原来美国小哥写的 java 代码导出来的 jar 包不好使....抓狂,奔溃,又默默骂一遍,"让我一个搞前端的女纸,搞这,是不是有病!"....无奈,活分我头上了...继续想把办法...
第三步:求人..哎,没办法只能走一步...让北京这边的写 java 代码的,重新给了我一份 hive数据库的 jar 包,先让他帮忙在 java 环境下, 用 eclipse 测试了一下,好使. OK, 要过来,在我 dbVisual里面测了一下,好使! OK, 有点开心了😊哈哈哈.之后进行关键的一步 合并 jar 包.
第四步:其实测完 jar 包好使之后,心想, 搞 java 的应该可以很快可以将多个 jar 包合并成一个,于是,不好意思的和 java 小哥说进一步的需求:是不是eclipse 里面可以合并?小哥一脸傲气的说:必须.我接着说,那你帮我合一下呗.小哥说好!(心中高兴啊,我这边头疼的任务让小哥帮整了,不好意思但又松一口气..)等啊等,好了,合并之后的 jar 传到了我手里(那个开心啊,试试..)But!!重点来了!!不!好!使...厚着脸皮和小哥说你给的东西不能用...小哥:不能啊,我查查,,,于是乎, google....不能啊,网上说的步骤和我的操作一致啊..."眼看了他看了3.4遍,还是同样的操作,感觉在他身上找到正确 jar 的可能性没了..感谢小哥后,回去自己搞..
第五步:判断所有的 jar 没问题,那就是合并出了问题了..我不会用 eclipse 合并(其实我也不知道能不能..),只能自己想办法了.搜啊搜.看到可以用命令行!!看到希望,开始试验..就是这个链接http://blog.csdn.net/totcw/article/details/72723627
第六步:其实那个链接已经可以满足了,但还是想自己写写,有点成就感.嘿嘿.
1.提取jar包
为了将多个jar包打包成一个jar包,首先要将每个jar包的内容提取出来放到一个文件夹下,具体的操作命令就是使用jar xf jar的文件名
222(是我随便起的文件夹名字,里面放着所有的 jar,并且直接在这个文件下执行这个命令就可以)
2.将提取之后的 jar 包删掉,(可以 copy 到另一个文件夹,留着以后有用),之后的重新打包不删掉会有影响.
3.打包成一个 jar : 命令 ---> jar -cvfM XXX.jar . 如: jar -cvfM hadoop.jar .
之后在222文件夹下面就会看到打包出来的一个新 jar 包: hadoop.jar
over.这就是我从接到任务到现在的全部.