java runnable jar file_eclipse中jar file与runnable jar file的区别

直接运行 .class的方法     java  -cp .  com.network.Chat  , 不用加.class后缀

从eclipse中export 的jar file,仅仅是把.class打包了。所以执行这种jar file需要用 java -cp .;ch04.jar com.thnkjava.ch04, 如果你还应用到另外的lib库,你必须在cp里说明,也就是  java -cp .;ch04.jar;lib01.jar;lib02.jar com.thnkjava.ch04 来执行。事实上可以发现ch04.jar也在cp里面,说明ch04.jar就是lib库,最后的参数指明了要被执行的类名。

如果从eclipse里export出的是 runnable jar file,那么个执行这个jar包的时候是不需要指明哪个类的,直接这样执行 java -jar ch04.jar。原因就是jar包中的MANIFEST.MF内容不同。 runnable jar包中指明哪个类先执行,所以你可以用 java -jar ch04.jar来执行你想要执行的代码,而不必指明具体哪个类。这个你可以打开 jar包查看MANIFEST.MF的区别,一目了然。

生成runnable jar file时,有两个选项,Extract required libraries into generated JAR 和 package equired libraries into generated JAR。 前者是把你用到的.class 文件提取出来,后者则是把你所需要的所有jar包都打进一个包里。两者的MANIFEST.MF文件内容也有所不同,这应该是eclipse造成的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个关于编写主程序的问题,我来给您讲解一下。 首先,我们需要在主程序指定 Mapper 和 Reducer 任务输出的 key 和 value 的类型,以及自定义分区和数量等信息。可以定义主程序如下: ```java public class MyJob { public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); Job job = Job.getInstance(conf, "myJob"); job.setJarByClass(MyJob.class); job.setMapperClass(MyMapper.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(Text.class); job.setReducerClass(MyReducer.class); job.setOutputKeyClass(NullWritable.class); job.setOutputValueClass(Text.class); job.setPartitionerClass(MyPartitioner.class); job.setNumReduceTasks(3); FileInputFormat.addInputPath(job, new Path("input")); FileOutputFormat.setOutputPath(job, new Path("output")); System.exit(job.waitForCompletion(true) ? 0 : 1); } } ``` 其,`MyMapper` 和 `MyReducer` 分别是 Mapper 和 Reducer 的类名,`Text` 表示输出的 key 和 value 的类型,`MyPartitioner` 是自定义的分区类名,`3` 是需要的分区数量。 接下来,我们需要将程序打包成 jar 文件并运行。在 Eclipse ,可以通过导出成 Runnable JAR File 的方式导出 jar 文件。具体操作如下: 1. 在 Eclipse ,选择 File -> Export -> Java -> Runnable JAR file; 2. 在弹出的窗口,选择需要导出的项目、导出的路径和文件名,并选择 Extract required libraries into generated JAR; 3. 点击 Finish,等待程序导出完成; 4. 在命令行运行 jar 文件,并指定输入输出路径,例如:`hadoop jar myjob.jar input output`。 运行结束后,可以在输出路径查看生成的结果文件。 希望这个解答对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值