如何打包/运行jar包,及生成exe文件
关于如何打包/运行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文件的更多相关文章
- maven本地安装jar包同时生成pom文件
maven 本地安装jar包:mvn install:install-file -Dfile=本地路径/ojdbc12.jar -DgroupId=com.oracle -DartifactId=oj ...
- 原!!jar包 --可执行exe文件--安装包
这几天由于部门统计名单,都是一边报,一边统计,感觉麻烦,写了个小工具,做成安装包.其他不多说,网上都有,我就自己按照网上操作,碰到了一些问题,对这些问题说下. ----------废话少说------ ...
- 用exe4j将jar包转成.exe文件的教程
标准版教程再这里 http://pan.baidu.com/s/1i3gn0Br 1. 下载安装exe4j文件,并把你的java文件生成jar格式的文件,在桌面新建一个文件夹,把jar文件放进去 ...
- Java多线程之赛跑游戏(含生成exe文件)
在JavaSE中,多线程是一个重要的内容. 我们要了解多线程的概念,就要先了解进程的概念:要了解进程的概念,就离不开操作系统的概念. 在一台正常运行的电脑中,计算机硬件(如CPU.内存.硬盘.网卡.显 ...
- 【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包
http://blog.csdn.net/u013177446/article/details/54134394 ******************************************* ...
- .bat文件和Jar包的生成及运行
.bat文件和Jar包的生成及运行 1.Jar包简单介绍 Jar包是Java中所特有的一种压缩文档,有点类似于zip包,区别在于Jar包中有一个META-INF\MANIFEST.MF文件(在生成Ja ...
- 【spring cloud】【IDEA】【Maven】spring cloud多模块打包,打包的jar包只有几k,jar包无法运行,运行报错:no main manifest attribute, in /ms-eureka.jar
======================================================================================== 引申:maven打包多 ...
- maven 打包可运行jar包(转)
目录 1.前提 2.方法一:使用maven-jar-plugin和maven-dependency-plugin插件打包 3.方法二:使用maven-assembly-plugin插件打包 4.方法三 ...
- Spring boot框架项目,使用maven命令将配置文件打包到jar包外,项目运行读取jar外配置文件
1.1 在eclipse中配置maven命令 Mvn -e clean package -Ptest -DskipTests=true 1.1.1 执行命令之后得到jar 1.2 ...
随机推荐
- 关于"Linux下使用Windows应用程序的尝试"总结
首推 Flatpak .Flatpak爽啊,命令行启动能不爽吗!? 其他的: 0. AppImage:AppImage试了下,唉,启动TIM时就没反应,其他的应用没试过 1. crossover:收费 ...
- luogu P3312 [SDOI2014]数表
传送门 我们看要求的东西\[\sum_{i=1}^{n}\sum_{j=1}^{m}[\sigma(gcd(i,j))\le a]\sigma(gcd(i,j))\] 然而\(\le a\)比较烦,可 ...
- luogu P3899 [湖南集训]谈笑风生
传送门 nmyzd,mgdhls,bnmbzdgdnlql,a,wgttxfs 对于一个点\(a\),点\(b\)只有可能是他的祖先或者在\(a\)子树里 如果点\(b\)是\(a\)祖先,那么答案为 ...
- java.lang.IllegalStateException: Ambiguous mapping found
原因:Controller 出现相同的url映射 参考: https://blog.csdn.net/u010892841/article/details/52136256
- 列式数据库~clickhouse问题汇总
一 简介:常见的clickhouse 问题汇总 二 问题系列 1 内存问题 Code: 241. DB::Exception: Received from localhost:9000, : ...
- 关于Sublime Text 3的几个问题总结
问题1:Sublime Text 3的注册码. 注册码网上搜有很多,所以可以去网上找.我现在给的可能以后就不能用了,而且我也是网上找的... 这个现在最新版本是可用的. —– BEGIN LICENS ...
- 微信小程序滚动Tab选项卡:左右可滑动切换
最终效果如上.问题: 1.tab标题总共8个,所以一屏无法全部显示. 2.tab内容区左右滑动切换时,tab标题随即做标记(active). 3.当active的标题不在当前屏显示时,要使其能显示到当 ...
- SpringBoot的Web配置
重写全局配置 如果springboot提供的springmvc配置不符合要求,则可以通过一个配置类(标有@Configuration注解的类)加上@EnableWebMvc注解来实现完全自己控制的mv ...
- ES6学习笔记六(Iterator和for..of)
{ let arr=['hello','world']; let map=arr[Symbol.iterator](); //返回false时继续执行,true停止执行! console.log(ma ...
- Holedox Eating HDU - 4302 2012多校C 二分查找+树状数组/线段树优化
题意 一个长度$n<=1e5$的数轴,$m<=1e5$个操作 有两种一些操作 $0$ $x$ 在$x$放一个食物 $1$ 一个虫子去吃最近的食物,如果有两个食物一样近,不转变方向的去吃 ...