java—在hadoop的提示符下创建和运行runnable jar

x7yiwoj4  于 2021-06-04  发布在  Hadoop
关注(0)|答案(3)|浏览(334)

我想使用hadoop包中提供的示例wordcount程序。因此,我在eclipse中创建了一个定制项目,并在我的定制类中复制了整个wordcount代码。我还将所有外部hadoopjar包含在项目的构建路径中。最后,尝试创建一个可运行的jar:file->export->java tab->runnable jar。
但是,我在jar创建中得到的错误是:导出时带有编译警告:custom\u project/src/custom\u package/customwordcount.java*
尽管代码没有错误,但是jar的创建给了我一个问题。如何解决这个问题?

92dk7w1h

92dk7w1h1#

现在不是这样了。我刚刚将我的项目从Kepler导出为runnable jar,在hadoop集群上运行,它毫无问题地保存了jar文件,并发出了许多警告。

brccelvz

brccelvz2#

如果出现编译警告,则不会停止导出。即使有错误,其他类文件也会打包为独立的ant脚本
已保存生成文件的示例项目运行示例
由ide导出(eclipse)生成的bld.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project Run1 with libraries in sub-folder">
    <!--this file was created by Eclipse Runnable JAR Export Wizard-->
    <!--ANT 1.7 is required                                        -->
    <target name="create_run_jar">
        <jar destfile="D:/U/t/workspace/1/Run1/o/RunApp.jar">
            <manifest>
                <attribute name="Main-Class" value="m.TT"/>
                <attribute name="Class-Path" value="."/>
            </manifest>
            <fileset dir="D:/U/t/workspace/1/Run1/bin"/>
        </jar>
        <delete dir="D:/U/t/workspace/1/Run1/o/RunApp_lib"/>
        <mkdir dir="D:/U/t/workspace/1/Run1/o/RunApp_lib"/>
    </target>
</project>
cuxqih21

cuxqih213#

eclipse不允许我们用带有警告的代码创建可运行的jar。
例如,
1) 未使用的导入(包)2)不推荐使用的警告等。
因此,确保在创建jar之前处理好所有这些。此外,在hadoop的示例wordcount代码中,还创建了job类的示例。这是不赞成的。因此,你肯定会面临这个问题。因此,为了克服这个问题,请删除以下行:delete the job job=new job(conf,“basic word count”);
并包含以下行:job=job.getinstance();

相关问题