Java之 将程序打包成jar包

准备材料:

  1.java文件:

       Helloworld.java  

package com.ray;
public class HelloWorld{
  public static void main(String[] args) {
   System.out.println("Hello!jar");
  }
}

   2.指定目录:建一个目录,来存放.class文件和.jar文件。 本文指定目录为 E:\myclass 。

一.命令行形式

   1.将java文件编译到指定目录:

          语法格式为:javac -d  指定目录  java文件

          编译到 E:\myclass:  javac -d e:\myclass HelloWorld.java

                  若出现乱码异常则可以指定字符编码: javac -encoding UTF-8 -d e:\myclass HelloWorld.java

   2.指定Main-Class:

           编译完成后,myclass目录下生成了com文件夹。此时,在myclass文件目录下,建一个文件A(如1.txt)。

           文件内容:Main-Class:(空格)全类名(回车)

           1.txt文件内容为:Main-Class: com.ray.HelloWorld 回车

   3.cmd进入指定目录(E:\myclass),使用jar命令打包

        语法格式:jar -cvfm (jar名) 文件A 包的顶级目录

                                      c        m       f

                   参数c:指定是创建新的归档文件。

                   参数v:在标准输出中生成详细输出,该选项是可选的。

                   参数f:指定打包后的包名。

                   参数m:指定自定义的MANIFEST.MF清单文件,否则,JDK会自动生成不包含Main-Class的默认清单。

        本例: jar -cvfm my.jar 1.txt com

通过上述三个步骤,便在E:\myclass目录下创建了my.jar。当然这三个步骤,也可酌情省略。

另:附上在cmd中运行jar包的命令:  java -jar jar包名,如  java -jar my.jar

二.在Eclipse中

   1.打包成一般jar包

           (1)要打包的项目上右击—> Export—> Java —> JAR File—>next

           (2)在JAR File Specification窗口中,设置打包成的文件名和存放位置,点击两侧next

           (3)在JAR Manifest Specification窗口中,设置MANIFEST.MF清单文件的配置,

               若仅仅打包成单纯的jar包的话,不用做任何修改,采取默认即可

               若打包成可执行jar包的话,可以使用已存在的MANIFEST文件或者直接选择Main class

           (4)点击Finish按钮,完成打包。

2.打包成可运行的jar包

           (1)要打包的项目上右击—>Export—>Java —>Runnable JAR File—>next

           (2)在Runnable JAR File Specification窗口中,选择Launch configuration和Export destination

           (3)点击Finish按钮,打包完成。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏武军超python专栏

2018年8月25日多线程编程总结

PYTHON 本身也支持多任务处理,并且提供了如下的操作方式 多线程多任务处理机制   (比较常用) 多进程多任务处理机制   (不常用,大型项目开发或者系...

1194
来自专栏CaiRui

多线程编程

1、多线程对于具有如下特点的编程任务是非常理想的:1、本质上是异步的 2、需要多个并发活动 3、每个活动的处理顺序是不确定的。 2、使用多线程编程,以及类似Qu...

2057
来自专栏程序你好

分布式锁的两种实现方式(基于redis和基于zookeeper)

1342
来自专栏北京马哥教育

Linux 中命令链接操作符,让你的代码更简洁!

Linux命令中链接的意思是,通过操作符的行为将几个命令组合执行。Linux中的链接命令,有些像你在shell中写短小的shell脚本,并直接在终端中执行。链接...

832
来自专栏Java 源码分析

MyBatis笔记二:配置

可以看到我们使用 <properties resource="db.properties"/> 引入了我们的数据据库的配置文件,然后这个标签有两个属性 : r...

1802
来自专栏吴伟祥

spring为何要注入接口,而注入接口的实现类就会报错

  首先说明,注入的对象确实为实现类的对象。(并不是实现类的代理对象,注入并不涉及代理)

1971
来自专栏轻量级微服务

微服务下跨语言 RPC 实现

目前主流的 Java 开发框架 Spring Boot,为了更方便集成 gRPC,自己开发了 spring-boot-starter-grpc,仅需简单的几行配...

2593
来自专栏JAVA烂猪皮

JAVA多线程与并发学习总结

使用高速缓存来作为内存与处理器之间的缓冲,将运算需要用到的数据复制到缓存中,让计算能快速进行;当运算结束后再从缓存同步回内存之中,这样处理器就无需等待缓慢的内存...

831
来自专栏CDN及云技术分享

GDB实现原理和使用范例

这篇文章为了让你深入了解gdb的工作原理,以及如何在linux环境下使用强大的gdb调试程序功能。

9381
来自专栏别先生

Hadoop Shell命令(基于linux操作系统上传下载文件到hdfs文件系统基本命令学习)

Apache-->hadoop的官网文档命令学习:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html...

2827

扫码关注云+社区

领取腾讯云代金券