完美实现JAVA程序的移植性和方便运行

8 篇文章 0 订阅
5 篇文章 0 订阅

 

完美实现JAVA程序的移植性和方便运行

前言:本文主要告诉大家如何实现两个功能:①让java程序(class文件)像exe文件一样方便运行;②让java程序在没有安装java运行环境的计算机上运行。本人曾经被这两个问题困扰良久,网上也有将java程序打包成可执行jar包甚至用第三者程序将jar包生成exe文件的说法。很遗憾,也很惭愧,本人还是没有解决好这两个问题。无意中发现了一个法子,简单而又实用,甚至不需要你去在计算机上设置环境变量等种种繁琐操作。特以此分享。

一.  java程序放在默认文件夹下:

情况说明:此情况是说,你在写java源程序时没有使用package语句。则源程序文件就放在默认文件夹下。

    在磁盘E上建立一个文件夹,命名为Java。将自己计算机上的jre文件夹复制到该文件夹下。

原因说明:新建文件夹可以建在任意位置,我们写的java源程序将放在这个文件夹下。Jre文件夹在jdk的安装目录下,里面包含了供java程序运行的平台。我们要是想在一台没有安装JVM的计算机上运行java程序,就要将jre包随程序一起移植过去。

    新建一个txt文件,里面写java源程序代码。

    保存文件,并将文件改名为:Hello.java

    cmd中使用javac命令对该文件进行编译。

 

编译之后,java文件夹下就会多出一个Hello.class文件。

 

    java文件夹下新建一个txt文件,具体内容如下:

原因说明:jre文件夹中包含了运行java程序所需平台。这句话的意思是调用当前目录(bat文件所在目录,这里指java文件夹所在目录)下的jre文件夹下的bin文件夹下java程序来运行当前目录下的Hello.class文件。注意:如果类名以小写字母开头,如hello.java下面的步骤将会出错。建议大家写java源程序时,自定义类名以大写英文字母开头。

    存内容,将文件名改为以bat为后缀的名字,如:程序入口.bat

    双击bat文件,就能看到结果。不过结果一闪而过,不好在这里截图。我在这里就放一个我所做的一个项目的运行结果吧:

如果是我们之前写的程序,只会在黑色窗口第二行上显示“Hello!”,然后关闭。这一段是bat文件里的内容。因为主程序名为Login,而且使用了package login语句,所以才这样写。属于下面要介绍的内容。

二.  java程序放在指定文件夹下:

情况说明:此情况是说,你在写java源程序时使用了package语句。则源程序文件就放在指定文件夹下。

    java文件夹下新建一个文件夹作为“指定文件夹”。

    在里面写java源程序。

加了一个窗口,就是想让程序暂停,而不是一闪而过。

    保存内容,重新命名:Hi.java并在cmd里进行编译:

    返回java文件夹,新建bat文件,内容如下:

    双击“新建文本文档.bat”,查看结果。

总结:基本方法就是这样。大家需要注意的是bat文件所在位置以及jre文件夹所在位置:最好将jre文件夹以及bat文件放在同一目录下。如果引入了第三方类库,与jre文件夹做同样处理。如下所示:

 

其中com文件夹就是引用的其他类库,里面放的是java连接sqlserve的驱动程序 。其他的除了jre文件夹,imageIcon里面放的是背景图片和图标;其他的就是我写的源程序编译之后的class文件。

 

      如果大家用的是集成开发环境,只需在个别步骤做一些修改即可。

      双击“医院信息管理系统入口.bat”文件,结果如下:

 

      我要说的,到此为止,希望看了本文的朋友能有所收获。

 

LT

2011/11/25

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java可移植性是通过以下几个原理实现的。首先,Java提供了一种最简单同时也是人们最熟悉的可移植性-源代码移植。这意味着无论Java程序运行在何种CPU、操作系统或Java编译器上,都将产生相同的结果。这是因为Java语言具有严密的语义结构,编译器不承担处理不同环境的职责。\[1\]\[2\]其次,Java使用了Java虚拟机(JVM)作为运行环境。JVM提供了一个独立于操作系统和硬件平台的运行环境,使得Java程序的字节码可以在任何支持JVM的操作系统和硬件平台上运行。这种特性使得Java程序具有很高的跨平台性,可以在不同的操作系统和硬件平台上运行而不需要修改代码。\[3\]因此,Java可移植性是通过源代码移植和JVM的跨平台特性实现的。 #### 引用[.reference_title] - *1* [详细介绍JAVA可移植性](https://blog.csdn.net/weixin_29738537/article/details/113019954)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Java可移植性及其原理](https://blog.csdn.net/2301_78523177/article/details/131285945)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值