关于如何打包/运行jar包,以及生成exe文件。之前各种查询、博客,终于搞明白究竟是咋回事。记得还做过笔记的。今天要打包生成exe用的时候,居然忘了咋怎来着。去查看之前的笔记,死活没找到(好像被删掉了)。决定写下来,以便之后随时调用。

一、jar包

  什么是jar包?jar包即(Java Archive File),也就是java归档文件。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。jar分为:一般jar包和可执行jar包。

二、如何打包成jar包

  ①使用eclipse进行打包                   

1.选择要打包的工程-->鼠标右键-->选择Export

  

2.导出为一般jar包 和 可执行jar包

  ②使用命令进行打包成jar包         (已配置好java环境,可直接在控制台输入jar查看命令帮助)

打包为一般jar包

  1)使用eclipse编写的程序:class文件在bin目录下,src中是源文件。

  步骤:在工程目录下运行CMD,输入命令: jar cvf jarPackageName.jar -C bin . 

     会在工程目录下生成jar包文件。

  2)使用编辑器编写的,且编译后的.class文件,根据目录进行打包,若单个或多个class文件则

  步骤:在class文件目录下运行CMD,输入命令:jar cvf jarPackageName.jar No1.class No2.class

打包为可执行jar包

  1)使用eclipse编写的程序:导出的可执行jar 不要需进行修改,可直接运行jar包。

  2)使用编辑器编写的,且编译后的.class文件。(jar cvfm jarPackageName.jar MANIFEST.MF bin .)

  步骤:创建MANIFEST.MF文件,在文件按格式写下

    Manifest-Version: 1.0
    Created-By: 1.6.0_22(Sun Microsystems Inc.)
    Class-Path: .
    Main-Class: MianClass

  Manifest-Version 指清单版本,默认生成Manifest-Version: 1.0

  Created-By 指创建作者,默认生成Created-By: 1.6.0_22 (Sun Microsystems Inc.)

  Class-Path 指主类所在路径

  Main-Class 指程序的主类 main 方法的类。

  在class文件目录下CMD中,输入命令:jar cvfm jarPackageName.jar MANIFEST.MF *.class

  注 : 

>>从eclipse生成的一般jar包和可执行jar中可以看出:一般jar 包中的MANIFEST.MF文件没有指定Main-Class,而可执行jar包中是含有的。

>>可执行的jar包中必须指定Main-Class,否则会提示“jar包中没有主清单属性”。

>>若MANIFEST.MF文件中只写Main-Class时,需要在末尾敲回车。

三、运行jar包

  在jar包目录下进入CMD,输入命令:java -jar jarPackageName.jar 

四、生成exe文件

前提准备:exe4j_window-x64.exe;可执行jar包

1.欢迎界面

2.选择“JAR in EXE ” mode ,点击Next

3.应用程序配置,输入程序名称。及保存exe文件的路径

4.选择可执行的程序类型,输入exe文件名,点击Next(其他选项可不填)

若有需要可选择设置

5.选择jar包和jar包中的Main-class,点击Next

6.设置程序的运行环境。点击Next

7.一直点击Next,进入该界面(生成exe程序界面).成功会直接进入Finished界面。否则出现弹出报错

8.完成

如何打包/运行jar包,及生成exe文件的更多相关文章

  1. maven本地安装jar包同时生成pom文件

    maven 本地安装jar包:mvn install:install-file -Dfile=本地路径/ojdbc12.jar -DgroupId=com.oracle -DartifactId=oj ...

  2. 原!!jar包 --可执行exe文件--安装包

    这几天由于部门统计名单,都是一边报,一边统计,感觉麻烦,写了个小工具,做成安装包.其他不多说,网上都有,我就自己按照网上操作,碰到了一些问题,对这些问题说下. ----------废话少说------ ...

  3. 用exe4j将jar包转成.exe文件的教程

    标准版教程再这里 http://pan.baidu.com/s/1i3gn0Br 1.    下载安装exe4j文件,并把你的java文件生成jar格式的文件,在桌面新建一个文件夹,把jar文件放进去 ...

  4. Java多线程之赛跑游戏(含生成exe文件)

    在JavaSE中,多线程是一个重要的内容. 我们要了解多线程的概念,就要先了解进程的概念:要了解进程的概念,就离不开操作系统的概念. 在一台正常运行的电脑中,计算机硬件(如CPU.内存.硬盘.网卡.显 ...

  5. 【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包

    http://blog.csdn.net/u013177446/article/details/54134394 ******************************************* ...

  6. .bat文件和Jar包的生成及运行

    .bat文件和Jar包的生成及运行 1.Jar包简单介绍 Jar包是Java中所特有的一种压缩文档,有点类似于zip包,区别在于Jar包中有一个META-INF\MANIFEST.MF文件(在生成Ja ...

  7. 【spring cloud】【IDEA】【Maven】spring cloud多模块打包,打包的jar包只有几k,jar包无法运行,运行报错:no main manifest attribute, in /ms-eureka.jar

    ======================================================================================== 引申:maven打包多 ...

  8. maven 打包可运行jar包(转)

    目录 1.前提 2.方法一:使用maven-jar-plugin和maven-dependency-plugin插件打包 3.方法二:使用maven-assembly-plugin插件打包 4.方法三 ...

  9. Spring boot框架项目,使用maven命令将配置文件打包到jar包外,项目运行读取jar外配置文件

    1.1      在eclipse中配置maven命令 Mvn -e clean package -Ptest -DskipTests=true 1.1.1    执行命令之后得到jar 1.2    ...

随机推荐

  1. 获取对象的key值,并保存在数组中

    const itm = { a:1, b:2, c:3 } //Object.keys获取对象的属性,再遍历 Object.keys(itm).forEach(function(key,i,v){ c ...

  2. luogu P4491 [HAOI2018]染色

    传送门 这一类题都要考虑推式子 首先推出题目要求的式子,枚举正好有\(s\)个颜色的种类(范围\([0,p=min(\lfloor\frac{n}{s}\rfloor,m)]\)),然后对于后面的颜色 ...

  3. Idea快捷操作

    command+N 导入jar包 在方法体内部有for循环,在IntellJ中是输入fori,然后会有一个提示,选中需要的for循环即可 System.out.println();在IntellJ中是 ...

  4. js监听浏览器返回事件

    $(function(){ pushHistory(); window.addEventListener("popstate", function(e) { window.loca ...

  5. NPOI 设置样式为粗体

    CellStyle style = hssfworkbook.CreateCellStyle(); Font f = hssfworkbook.CreateFont(); f.Boldweight = ...

  6. React多行文本溢出处理(仅针对纯文本)

    最多显示4行,第四行末尾显示“...”

  7. C++11 override 和 final 关键字

    C++11之前,一直没有继承控制关键字.禁用一个类的进一步衍生是可能的但也很棘手.为避免用户在派生类中重载一个虚函数,你不得不向后考虑. C++ 11添加了两个继承控制关键字:override和fin ...

  8. 【Linux】时间同步设置+防火墙设置+SELinux设置

    时间同步设置 在大数据集群环境中,要求每台集群的时间必须是同步的,这样我们就会要求每台集群的时间必须和一台服务的时间是同步的.接下来介绍一下步骤: 1,设置ntp客户端 yum -y install ...

  9. 统计分析与R软件-chapter2-2

    2.2 数字.字符与向量 2.2.1 向量 1.向量的赋值 x<-c(10.4,5.6,3.1,6.4,21.7) 2.向量的运算 x<-c(-1,0,2);y<-c(3,8,2) ...

  10. 【转】PyQt5开发环境配置并使用

    [转]PyQt5开发环境配置并使用 https://blog.csdn.net/HuangZhang_123/article/details/78046706 本人新书<玩转Python网络爬虫 ...