您的位置:首页 > 编程语言 > Java开发

eclipse/maven工具打包及使用

2017-12-27 21:19 369 查看
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

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  eclipse