参考: http://www.iteye.com/topic/57312

背景: 以前一直都是在eclipse上面创建应用程序,每次要要运行的时候都要打开eclipse, 直到有个同事叫我帮忙写一个应用程序(检测从服务器拉文件的速度),他又不怎么懂eclipse, 问题就来了: 1) 他的电脑可能没有eclipse, 2) 他的电脑可能根本没装jdk.

所以我就边学边写了一个应用程序: 用户只需双击run.bat就能达到目的了

最终目录结构:

下面是一步步的分解:

工程目录:

新建一个JarTest目录用来发布(包含:lib目录、jre目录和run.bat)

1) 程序打包jar

找到工程bin目录, 用cmd打开,

输入命令: jar cvf barry.jar *, 完成后你会在bin目录下找到barry.jar

指定Main-Class

用zip打开barry.jar, 修改MANIFEST.MF文件,添加 Main-Class: com/core/barry/FileBaseOnPath  (FileBaseOnPath.java 里面必须有main函数作为入口)

将打好的barry.jar 和应用程序依赖的外部***.jar一起放到JarTest/lib下面

2) 将你本机上的jdk下面的jre考到JarTest下面

3) 在JarTest下面新建一个run.bat文件,里面写上: start jre/bin/java -jar -Djava.ext.dirs=./lib ./lib/barry.jar

  上面命令可以分为三部分:

    3.1) start jre/bin/java: 使用指定目录下的jre

    3.2) -jar ./lib/barry.jar: 运行应用程序

    3.3) -jar -Djava.ext.dirs=./lib ./lib/barry.jar: 高亮部分表示加载指定目录下的外部jar

ok, 最后只要把JarTest这个文件夹给同事让他直接双击run.bat就行了(因为服务器地址hardcode的,所以就不把JarTest附上了)

Java应用程序项目的打包与发行(run.bat形式)的更多相关文章

  1. Java应用程序项目的打包与发行

    Java应用程序项目的打包与发行    这里主要是讲解一下怎样将 Java程序打包成独立运行的exe程序包,以下这种方法应该是最佳的解决方案了.NetDuke的EXE 程序包了是使用这种方案制作的.在 ...

  2. java应用程序利用Exe4j打包exe文件

    1.      使用简介: 把java应用程序打成exe文件我们可以借助第三方软件exe4j来完成.Exe4j大家可以在网上下载,下载地址是: http://www.ej-technologies.c ...

  3. IDEA Java/Scala混合项目maven打包

    1.首先创建maven项目 2.创建成功后新建class,只有java的,没有scala的 3.修改pom.xml文件,引入scala <?xml version="1.0" ...

  4. 使用InstallAnywhere7.1制作Java exe程序安装包

    [转[使用InstallAnywhere7.1制作Java exe程序安装包 使用InstallAnywhere7.1制作Java exe程序安装包 对于已经完成的Java应用程序开发项目,从商业化角 ...

  5. 在 NetBeans IDE 6.0 中分析 Java 应用程序性能

    NetBeans IDE 6.0 包含一个强大的性能分析工具,可提供与应用程序运行时行为有关的重要信息.通过 NetBeans 性能分析工具,我们可以方便地在 IDE 中监控应用程序的线程状态.CPU ...

  6. Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.java

    Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ...

  7. Java桌面程序打包成exe可执行文件

    前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...

  8. 将Java应用程序打包成可执行的Jar包

    可以将多个class文件打包为jar包,在指定程序入口点情况下,可以用 java –jar jar包名称 的方式调用jar包内主类的main函数. 程序源代码如下: //Math.java publi ...

  9. Java应用程序的打包和发布

    Java应用程序的打包和发布 简化Java应用程序的打包和发布 发布Java应用程序时Java提供了一系列打包和发布工具,可以显著的简化发布过程 该文章提供了打包Java code的几种方法,探讨Ja ...

随机推荐

  1. Java基础知识学习(三)

    面向对象部分 首先要了解面向对象的思想,与C#一致,都是面向对象的语言 访问修饰符 public 共有的,对所有类可见. protected 受保护的,对同一包内的类和所有子类可见. private ...

  2. 一些性能查询的SQL 备忘

    --检查数据库的等待事件 from v$session_waitwhere event not like 'SQL%' and event not like 'rdbms%' --找出系统中耗时的操作 ...

  3. Java 文档注释

    Java只是三种注释方式.前两种分别是// 和/* */,第三种被称作说明注释,它以/** 开始,以 */结束. 说明注释允许你在程序中嵌入关于程序的信息.你可以使用javadoc工具软件来生成信息, ...

  4. 实现台式机redhat6.4无线网卡上网RTL8188CUS

    台式机装了红帽6.4,无法无线wlan上网,特此用usb无线网卡设置 输入命令lsusb​,可以看到USB无线网卡是 ​Realtek Semiconductor Corp. RTL8188CUS 8 ...

  5. BUCK-BOOST反激变压器设计

    Buck-Boost电路中,最低电压为其最恶劣情况 以下图为例: 注:1.Np为初级绕组匝数,Ns为次级绕组匝数: 2.Vmos为MOS最大耐压值,1为整流管压降,Vl为漏,Vl=100V,Vmos选 ...

  6. 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred)

    A 思路: 贪心,每次要么选两个最大的,要么选三个,因为一个数(除了1)都可以拆成2和3相加,直到所有的数都相同就停止,这时就可以得到答案了; C: 二分+bfs,二分答案,然后bfs找出距离小于等于 ...

  7. 北理工c语言单项选择题

    1.在函数中,只要说明了变量,就可为其分配存储单元 error:如auto和register类型的变量在定义它的函数被调用时才被分配存储单元 auto:默认的局部变量存储方式,(这种变量定义时在动态存 ...

  8. javaSE ---OOP总结

    面向对象编程(Object Oriented Programming,OOP)是当前最主流的编程范式之一,Java是一门纯面向对象的编程语言.我们常说C++是一门面向对象的编程语言,C++是C语言的一 ...

  9. POJ3255Roadblocks[次短路]

    Roadblocks Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 12697   Accepted: 4491 Descr ...

  10. Application中的路径

    前提条件 项目工程目录:E:/Work/cosmosbox/cb-client/ 我电脑当前的用户名:qingqing PersistentDataPath Application.persisten ...