写笔记四前的脑回路是这样的:

前面的学习笔记二,提到3个环境变量,其中java_home好理解,就是jdk安装路径;classpath指向类文件的搜索路径;path指向可执行程序的搜索路径。这里的类文件和可执行程序是分别在jvm和实际操作系统下执行的文件。对jvm来说,.class文件就相当于操作系统下的可执行程序,对应windows系统就是.exe文件了。那么可不可以把在IDE里开发的程序做成在windows下双击就能运行的文件或者干脆转化成.exe文件呢?查找资料,显然可以。下面写得是第一种情况,由双击运行jar文件来实现。

正文:

在学习笔记三中,用eclipse实现了最简单的HelloWorld程序。

1、打开eclipse,打包具体步骤如下:

①.open→export→Java→JAR file→next

②.Select the resources to export下面选择要导出的文件,

Select the export destination下面输入jar文件的存放位置→next

③.JAR Packaging Options选项默认→next

④.Select the class of the application entry point,选择要导出的工程的入口→finish

⑤.在命令行下输入命令:java -jar jar文件路径,查看有无错误

详细过程见下图,为方便,把所有步骤合到一个图片里面了:

2、打包好后,生成了.jar文件,但双击没有反应,尝试如下解决方案都失败:

①.右键→打开方式→Java(TM) Platform SE binary,双击没反应

②.在开始→运行,输入regedit,打开注册表编辑器,找到HK_CLASSES_ROOT\Applications\javaw.exe\shellopen\command

把原值……javaw.exe…修改为……java.exe…,退出后,双击也没有反应,详见下图:

3、确实要修改注册表路径,但应修改的地方如下所示:

找到HK_CLASSES_ROOT\jarfile\shell\open\command

把原值的……javaw…改为……java…,退出后,双击就可以正常运行了,详见下图:

注:修改后,实际跟命令行下执行的命令是一样的。

Java学习笔记四---打包成双击可运行的jar文件的更多相关文章

  1. Java学习笔记4---打包成双击可运行的jar文件

    写笔记四前的脑回路是这样的: 前面的学习笔记二,提到3个环境变量,其中java_home好理解,就是jdk安装路径:classpath指向类文件的搜索路径:path指向可执行程序的搜索路径.这里的类文 ...

  2. 怎么将java项目打包成双击就可以运行的jar包---fatjar

    fatjar下载地址:http://pan.baidu.com/s/1cQ01o 下载fatJar插件,解压缩后是一个.../plugins/(net...)把plugins下面的(net..)文件夹 ...

  3. 将Java项目打包成可以独立运行的Jar包

    因为一直也没怎么用过Java的原因,所以以前本科上课的时候,在控制台下运行Java程序都是仅仅运行单个的没有第三方库依赖的情况下运行的 那种情况特别简单,只要输入Javac 文件名.java等到编译完 ...

  4. Java学习笔记四:Java的八种基本数据类型

    Java的八种基本数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. Java基本类型共有八种,基本类型可以分为三类,字符类型char,布 ...

  5. Java学习笔记四——运算符

    算术运算符 加减乘除(+.-.*./)就不说了. 求余运算符% 描述:第一个操作数除以第二个操作数,得到一个整除的结果后剩下的值就是余数 注意:求余预算的结果不一定总是整数,当操作数是浮点数时,结果可 ...

  6. 面向对象三大特征之封装与static——(Java学习笔记四)

    面向对象     编程本质:以类的方式组织代码,以对象的方式组织(封装)数据 对象:具体的事物,某个类的对象(实例) 类:是对对象的抽象,用于描述同一类型的对象的一个抽象概念 对象和类的关系:特殊到一 ...

  7. Java 学习笔记 (四) Java 语句优化

    这个问题是从headfirst java看到的. 需求: 一个移动电话用的java通讯簿管理系统,要求最有效率的内存使用方法. 下面两段程序的优缺点,哪个占用内存更少. 第一段: Contact[]c ...

  8. Java学习笔记四:三目运算符与字符串连接符等

    一 .三目运算符与自增自减 GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/OperPrac02.java 条件运算符由 ...

  9. Java学习笔记四

    1.简介.进程和线程:简单的说就是进程负责为程序开辟内存空间,线程负责具体的执行单元(执行路径). 一个进程中可以有多个执行路径,称为多线程.CPU一次只能执行一个进程,但是一个进程内部可以有多个线程 ...

随机推荐

  1. c语言 进程控制---创建进程 vfork()函数

    #include "stdio.h" #include "unistd.h" #include "sys/types.h" int gvar ...

  2. Java并发基础——Thread

    并发编程可以使我们将程序划分为多个分离的,独立运行的任务.通过多线程机制,这些独立任务都将由执行线程来驱动.在使用线程时,CPU将轮流给每个任务分配占用时间,每个任务都觉得自己在占用CPU,但实际上C ...

  3. Windows 8 快捷键

    三月份,Kurt Walter 在 Windows团队博客中发表了一篇介绍 Windows 8 和全新快捷键的精彩文章. Windows 8 提供了出色的触摸体验,但在我的台式机上使用了几个月后我还发 ...

  4. Statement和PrepareStatement区别

    网上很多都说区别是PrepareStatement可以批处理.实际上二者都是可以进行批处理的. 区别在于: 1.PrepareStatement要求预编译的sql必须是格式固定,使用占位符获取参数. ...

  5. Spring Aop 应用实例与设计浅析

    0.代码概述 代码说明:第一章中的代码为了突出模块化拆分的必要性,所以db采用了真实操作.下面代码中dao层使用了打印日志模拟插入db的方法,方便所有人运行demo. 1.项目代码地址:https:/ ...

  6. 《物联网框架ServerSuperIO教程》- 22.动态数据接口增加缓存,提高数据输出到OPCServer和(实时)数据库的效率

     22.1   概述及要解决的问题 设备驱动有DeviceDynamic接口,可以继承并增加新的实时数据属性,每次通讯完成后更新这些属性数据.原来是通过DeviceDynamic接口实体类反射的方式获 ...

  7. 那么 Appium 到底是怎么工作的呢?

    因为官网文档写的没有梯度,作为新手的我花了好几个小时硬是没看明白它是怎么工作的. 网上教程也基本都是翻译,所以结构很复杂.和其他技术耦合度很高,且没有说明. 我自己总结了一份超简单 Appium 自动 ...

  8. Java+大数据开发——Hadoop集群环境搭建(二)

    1. MAPREDUCE使用 mapreduce是hadoop中的分布式运算编程框架,只要按照其编程规范,只需要编写少量的业务逻辑代码即可实现一个强大的海量数据并发处理程序 2. Demo开发--wo ...

  9. 汇编指令-CMP、TEQ(5)

     cmp:(compare)指令进行比较两个操作数的大小  格式: cmp oprd1,oprd2 比较oprd1和oprd2操作数,然后通过助记符来实现想要的判断. teq: (test equal ...

  10. 【1414软工助教】团队作业5——测试与发布(Alpha版本) 得分榜

    题目 团队作业5--测试与发布(Alpha版本) 作业提交情况情况 所有团队按时提交. 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目2:单元测试 团队作业1 ...