eclipse/maven工具打包及使用

1、hbase导出到集群执行
    a、直接依赖集群上的包
        只导出jar文件: G:\java\sourcecode\myjava\ExampleClient.jar
        修改jar文件MANIFEST.MF中的内容,将main指向所跑的主类 com.hbase.ExampleClient
        上传至集群运行
        
        export HADOOP_CLASSPATH=`hbase classpath`
        hadoop jar ExampleClient.jar com.hbase.ExampleClient
        
        
        hadoop jar localfileloadhbase.jar com.hbase.LocalFileLoadHbase
        
        
        
    b、maven编译可执行的jar包
在pom.xml中添加:
<build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.1</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <finalName>bigdata-load-myhbase</finalName>
                    <outputDirectory>target</outputDirectory>
                    <workDirectory>target</workDirectory>
                    <archive>
                        <manifest>
                            <mainClass>com.hbase</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
</build>

    然后执行 Maven Build->debug(配置 compile assembly:assembly)
    生成可执行jar包bigdata-load-myhbase-jar-with-dependencies.jar
    
    hadoop jar bigdata-load-myhbase-jar-with-dependencies.jar com.hbase.HdfsFileBulkLoadHbasem
    hadoop jar bigdata-load-myhbase-jar-with-dependencies.jar com.hbase.HdfsFileLoadHbase
    hadoop jar bigdata-load-myhbase-jar-with-dependencies.jar com.hbase.BulkLoadHbasemByPreCreateRegion
    
2、执行普通jar包
    如执行producevoicedata.jar报时,
    java -jar producevoicedata.jar 提示错误:
        no main manifest attribute, in producevoicedata.jar
        正常情况下,java打包成jar包需要在MANIFEST.MF中指定Main-Class项以便运行java -jar XXX.jar时找到对应的主类。因为-jar的含义就是后面跟的jar包是有main class可独立运行,所以需要在打包成jar包时指定这个类。
        如果想运行时指定想要运行的类,此时应该用-cp / --classpath来指定,命令如下:
    java -cp producevoicedata.jar com.hbase.ProduceData
    
http://blog.csdn.net/yujin753/article/details/42555517



3、命令打包
    编译: javac -d classes/ src/*.java
    打包: jar -cvf hdfs2hbase.jar classes
    
    更新jar包中class文件
    jar uvf bigdata-load-myhbase-jar-with-dependencies.jar com/flume/sink/CustomRegexHbaseEventSerializer.class
    jar uvf bigdata-load-myhbase-jar-with-dependencies.jar com/rowkey/GenerateRowKey.class

    查看jar包中文件
    jar vtf bigdata-load-myhbase-jar-with-dependencies.jar
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值