在java应用开发中,编译完java 文件生成类文件,可以在命令行用java命令运行,但是这样很麻烦,因为一般的java 程序都不是独立的应用,都会引用一些其他的jar 包,所以为了每次使用的方便,是好打包成exe或bat 的方式。

  以下是一种实现方式,不需要借助于任何的工具。

  一、在eclipse中把需要打包的类编译成class文件

  二、在类的根文件夹下新建一个文件MANIFEST.MF、新建一个文件夹lib,把你所引用的其他jar包拷由到lib中,

其目录结构如下

+bin

-----MANIFEST.MF

-----lib

+引用的包一

+引用的包二

-----com(编译后的类目录)

--smartdot

--cip

--类一

--类二

MANIFEST.MF介绍:包含了JAR文件的内容描述,并在运行时向JVM提供应用程序的信息,大多数JAR文件含有一个默认生成的manifest 文件,在这里我们主要利用这个文件指定运行时的main class,以及main class 运行时需要引用的jar包.

其内容为:

Main-Class: com.smartdot.expinitdata.ExportCIPData
Class-Path: ./lib/ChineseTransform.jar ./lib/classes12.jar ./lib/commons-lang-2.1.jar ./lib/commons-logging.jar ./lib/j2ee.jar  ./lib/ojdbc14.jar
Manifest-Version: 1.0

MANIFEST.MF文件经常会出错,例如把Class-Path  放最到后一行,生成的jar文件中的MANIFEST.MF中就没有Class-Path,网上很多人问这个问题,但是都没有找到出问题的原因,解决方式是把Class-Path写到Manifest-Version上面就可以了,有时间去java 英文文档上找原因吧。

上面的MANIFEST.MF指定的class-path是根据第二步的文件结构中lib的存放位置指定的,当然也可以修改。

三、在命令行中执行打jar包

jar cvfm init.jar MANIFEST.MF com

当然,需要把当前目录指到第二步的bin 下,即class文件的根目录下

刚开始我用的是jar cvfm init.jar MANIFEST.MF com/. 这个命令,生的JAR中的目录有问题,com的下级目录名前总带一个/. , 所以总说找不到main class,删掉“/.”就好了。

四、编写bat 文件

bat 文件很简单,只需要3句,将当前的路径指定到编译后的jar 包所以在目录,运行java

cd e:\patentOfficeData\bin
java -jar init.jar
pause

在我的理解中,生成的jar 中应该可以双击运行,而不用再编写bat文件,但是双击jar包后,可以启动一个java 进程,但是看不到运行的界面,和输出的语句,是我的理解有误?

五、移植

如果想在其他机器上运行这个main class , 则需要建立一个文件夹,里面需要3个文件

-----文件夹

+打完的jar文件

+lib目录(存放引用的jar)

+bat文件

只要拷贝这个大的文件夹就可以了。

有一点要注意,移植时,新机器的目录e:\patentOfficeData\bin目录必须存在,否则会报错。所以建议一开始打包就找一个比较简单的路径作为类的根路径。

将java 打包成exe 可执行文件相关推荐

  1. 如何将 java 项目打包成exe可执行文件

    如何使用exe4j把jar打包成exe文件 最近,做了几个javafx的项目,想要把jar包打成exe的可执行软件,下面时我使用exe4j打包的方法 一.将java程序打包成jar包 1. Flie ...

  2. 利用exe4j将java程序打包成exe可执行文件

    利用exe4j将java程序打包成exe可执行文件 一直在用exe4j,很好用,包括现在电脑中很多在使用的java程序,都是用exe4j打包的,所以也想做一些博客,来跟小伙伴们一起分享我的学习,让大家 ...

  3. HTML网页打包成EXE可执行文件

    HTML网页打包成EXE可执行文件 1.软件准备 NW.js 官网:nwjs.io Enigma Virtual Box 官网:enigmaprotector.com 2.开始操作 首先要有html网 ...

  4. Python写的代码打包成.exe可执行文件

    Python写的代码打包成.exe可执行文件 1. 安装pyinstaller 2. [在线生成icon](http://www.ico51.cn/) 3. 打包命令 pyinstaller -i x ...

  5. python程序打包成exe可执行文件,亲测可行(pyinstaller教程)

    python程序打包成exe可执行文件,亲测可行(pyinstaller教程)(11-20190214) 文章目录: 有些程序你不想让别人看到,由此程序你想做成绿色软件普惠大众,有些..., 然而你只 ...

  6. python如何将图片打包进exe里_用python将图片切分为九宫格 并打包成exe可执行文件(附源码)...

    前言 经常在朋友圈或者微博看到九宫格显示的图片,虽然是九张图片,但是这是一张图片经过切割而成的,显示效果很震撼.今天,我们就用python将图片切分为九宫格,并打包成exe可执行文件,就算不需要代码也 ...

  7. python版本可执行可嵌入_Python程序打包成exe可执行文件的方法探究

    王瑞文+王圣辉+边润根+邓明月 摘 要:Python是一种很流行的开源编程语言,可以在各种领域中用来编写独立的程序和脚本.Python免费.可移植.功能强大,而且使用起来相当容易.来自软件产业各个角落 ...

  8. 【Python学习笔记(二)】使用Pyinstaller将不同路径下的py文件打包成exe可执行文件

    ** 使用Pyinstaller将不同路径下的py文件打包成exe可执行文件 ** ** 前言 在Windows环境下需要打包一个python项目成exe可执行文件,共有一个主函数BomSoftwar ...

  9. pyqt5打包成exe可执行文件

    pyqt5怎么打包成exe可执行文件 | w3c笔记从python源代码到exe文件需要经历打包的过程.特别是pyqt5实现的GUI界面应用,应该没有哪个小伙伴想在运行的时候看到复杂的代码吧?那么py ...

最新文章

  1. 量子计算机背后的努力,烧脑警告神秘的量子计算机,背后究竟蕴含怎样厉害的工作...
  2. 论文阅读|How Does Batch Normalization Help Optimization
  3. python 粒子滤波目标追踪_Python实现基于相关滤波的单目标跟踪算法
  4. 关于jupyter几个不得不知道的tips
  5. FastDFS文件上传和下载流程
  6. 2019知道c语言答案,2019年全国计算机二级C语言练习及答案四
  7. Hmac - Java加密与安全
  8. mybatis java8_Java 8 开发的 Mybatis 注解代码生成工具
  9. 《数据结构与算法分析》学习笔记(二)——算法分析
  10. BasicExcel CSpreadSheet 使用感受
  11. 小米mix2s html,【小米MIX2s评测】2018需要加价买的旗舰 小米MIX 2S评测_小米 MIX 2s(6GB RAM/全网通)_手机评测-中关村在线...
  12. C语言累加函数代码,ARM汇编程序---通过ARM汇编调用C语言函数实现累加
  13. Ubuntu 安装显卡驱动 CUDA10 cuDNN详细教程
  14. 类与对象的基本语法+练习题
  15. AD批量修改网络标号字体
  16. JS递归的用法JavaScript递归)
  17. 计算机系统会受到什么损害,影子系统是什么?会损害电脑硬盘吗?
  18. 准备移民澳洲的你,为何改移加拿大?
  19. 机考怎么作弊_电脑上考试如何作弊 电脑上考试不能复制粘贴怎么办
  20. 7.2 Java(农夫果园【3】:一个农场,专门种植销售各类水果,在这个系统中需要描述下列水果葡萄、草莓、苹果)

热门文章

  1. C基础 redis缓存访问
  2. 如何将软件限制策略发挥大作用
  3. Synchronized和Lock的区别
  4. modelsim(1):经常使用的测试设计的结构
  5. 对我影响最大的三个老师
  6. [Apache Tomcat]server.xml文件详解
  7. IDA Pro安装教程
  8. scala数据结构之Maps和Tuples
  9. [SOJ] DAG?
  10. jquery如何获取checkbox,并判断是否选中