前言:

java号称“一次编译,到处运行”,但这有个前提,那就是你的机子上得安装java环境。对于开发人员或其他一些比较懂计算机的人来说这没什么,但是对于一些不懂计算机的人来说这会很麻烦,他们更希望的是东西拿来就能用,而不用另外安装其他软件。我们可以通过把jre和导出的jar文件封装在一起来实现这个效果。

方法其实很简单,就是配置好第三方库路径,再用自己的JRE里的javaw -jar xxx.jar 命令运行jar文件。详情如下:

1、把工程导出为jar文件,可借助Eclipse完成。本例为ExcelFilter1.jar

2、在jar文件同级目录下新建lib文件夹,把用到的第三方库放在里面,本例里用到了操作Excel的jxl.jar

3、用压缩工具(如360压缩)打开jar文件,编辑 META-INF/MANIFEST.MF 文件,在Main-Class那行之前添加第三方库的路径:Class-Path: lib/jxl.jar ,注意每个jar路径的前面和后面都有个空格,如果有多个jar,之间用空格分开

4、在jar文件同级目录下新建jre文件夹,把jre文件拷到其下

5、在同级目录下新建bat文件,如start.bat,并编辑,写入如下内容:start jre/bin/javaw -jar ExcelFilter1.jar,保存

此后,双击start.bat就能运行了

从上面可以看出,关键就是用自己的JRE里的javaw命令来运行jar,所以,通常可以用Eclipse直接将工程导出为可执行的jar,如果系统有装java环境,则双击即可运行;如果没装,则可以通过自己的JRE里的javaw.exe来运行该jar。

java 打包jar文件以在没有安装JDK或JRE的机子上运行的更多相关文章

  1. Java 图片爬虫,java打包jar文件

    目录 1. Java 图片爬虫,制作 .jar 文件 spider.java 制作 jar 文件 添加执行权限 1. Java 图片爬虫,制作 .jar 文件 spider.java spider.j ...

  2. Intellij打包jar文件,“java.lang.SecurityException: Invalid signature file digest for Manifest main attrib

    下面是使用Intellij 打包jar文件的步骤,之后会有运行jar文件时遇到的错误. 打包完成. ================================================== ...

  3. Java的jar文件安装成windows 服务

    Java的jar文件安装成windows 服务: 1.下载:nssm,复制到jar文件目录下 2. jar文件目录下创建bat文件[run.bat],内容为[java -jar 文件名.jar] 3. ...

  4. exe4J打包jar文件成exe可执行文件

    exe4j_6.0下载(x86\x64\注册机):        https://pan.baidu.com/s/1oFzif5ZVswbgbBkKHc8HFQ 打包步骤: 再次偷一下懒,使用别人的内 ...

  5. Eclipse将android项目打包jar文件

    Eclipse+android打包jar文件 蔡建良 2016-3-12 以Android-SlideExpandableListView开源框架为例,将源码Library打包成jar文件并包含R.c ...

  6. 关于在打包Jar文件时遇到的资源路径问题(二)

    在关于<关于在打包Jar文件时遇到的资源路径问题(一)>中,以及描述了当资源与可执行JAr分离时的资源路径代码的编写问题,后来想了想,为什么将<Java核心技术卷一>中的程序1 ...

  7. AndroidStduio3.0 使用gradle将module打包jar文件

    AndroidStduio3.0使用gradle将module打包jar文件,首先需要安装gradle. 打开控制台输入      open -e .bash_profile     命令,就可以打开 ...

  8. 关于在打包Jar文件时遇到的资源路径问题(一)

    当我们将程序写好,并进行打包成Jar文件时,通常都带有各种资源,这些资源可以是图像或者声音文件,也可以是别的如文本文件或二进制文件等,这些资源都和代码密切相关.例如在一个JPanel类上显示一些可能变 ...

  9. Java 执行jar文件出现版本错误信息

    Java 执行jar文件出现版本错误信息 一.问题 执行jar文件出现如下错误信息: 二.解决方案 是因为在创建工程的时候选择的jdk编译版本,和执行jar环境的jdk版本不一致: 更改工程的jdk版 ...

随机推荐

  1. linux测速软件speedtest-cli

    linux测速软件: https://github.com/sivel/speedtest-cli 以下是我在gentoo上测的

  2. Linux PPTP搭建

    PPPTP概述 tcp1723 1,安装 rpm -ivh ppp--14.1.rhel5.x86_64.rpm #安装ppp rpm -ivh pptpd--.rhel5.x86_64.rpm #安 ...

  3. 查询EBS请求日志的位置和名称

    select * from FND_CONCURRENT_PROGRAMS_VL fcp where fcp.USER_CONCURRENT_PROGRAM_NAME like '%CUX%XXXX% ...

  4. MVC4/5+jquery+bootstrap样式+dataTables+linq+WCF+EF6后台和前台的框架集合!好蛋疼哦!数据库支持MYSQL 和MSSQL,oracle。集成腾讯企业邮箱收邮件同步用户SSO登陆等功能。

    花费了我好多心血,才做出来,下个项目准备用这个框架! 大家有没有做这方面的可以交流一下! 花费了我好多心血,才做出来,下个项目准备用这个框架! 大家有没有做这方面的可以交流一下! 花费了我好多心血,才 ...

  5. [C/C++基础] C语言常用函数strlen的使用方法

    函数声明:extern unsigned int strlen(char *s); 所属函数库:<string.h> 功能:返回s所指的字符串的长度,其中字符串必须以’\0’结尾 参数:s ...

  6. 推荐一个 angular 图像加载插件

    推荐一个简单的 Angular 图片加载插件:vgSrc,插件根据图片资源的不同加载状态,显示不同图片,亲测兼容IE-8. 使用 推荐使用 bower 加载: bash bower install v ...

  7. 原生JS、CSS实现的转盘效果(目前仅支持webkit)

    这是一个原生JS.CSS实现的转盘效果(题目在这:http://www.cnblogs.com/arfeizhang/p/turntable.html),花了半个小时左右,准备睡觉,所以先贴一段代码, ...

  8. jQuery ajax - get(),getJSON(),post()方法

    1)       jQuery ajax - get() 方法: $(selector).get(url,data,success(response,status,xhr),dataType) 参数 ...

  9. SQL Server 2008 过期

    最近SQL Serve 2008 过期,不能正常运行,通过如下方式解决此问题: (1) 修改注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQ ...

  10. CoffeeScript及相关文本标记语言

    粗步看了下CoffeeScript(简称cs),发现cs这玩意还是有些问题,当然最大的问题之一是缺乏称手的工具.要是能放VS里编译调试当然好.但是转来转去的,真不如直接多敲几个JS字符串. 问题之二就 ...