Java Runtime Environment初探

本文介绍了一种在Java应用程序中自动查找并配置客户机JRE环境的方法,包括获取JRE路径的代码实现,以及如何自动向JRE中添加必要的jar包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直都认为java的jre环境配置比较麻烦,特别是一台pc机器上装了多种不同版本的jre。当一个应用程序在不同的机器上迁移的时候,jre的不同会让你遇到一些意想不到的错误,解决这种问题的方法有两个,一个就是在应用程序中绑上一个jre,让应用程序不管到了哪里,都用的是自己的jre;另一个就是通过改变客户机的jre,比如说向客户机的jre里加入一些应用程序所必需用到的jar包等等。
第一种方法简单是简单,但是有一个最大的弊端,就是附带了jre的应用程序的容量会变得很大,一般情况下至少有增加60MB。。。我原来的程序才1MB多。。。
那就考虑第二种,让客户在运行我的安装程序时,安装程序自动查找到客户机当前使用的jre,并向jre里添加程序所需要的jar包。
以下就是一段取得jre路径的代码,只针对pc平台:

import java.io.*;


public class Setup {

public void createTemp() throws IOException{
Runtime.getRuntime().exec("regedit /ea jrepath.temp \"HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java RunTime Environment\"");
try {
Thread.sleep(1000);//足够的时间间隔
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String getJrePath() throws IOException{

File f;
FileReader fr;
BufferedReader br;
f=new File("jrepath.temp");
fr = new FileReader(f);//读取注册表临时文件
br=new BufferedReader(fr);
String line=br.readLine();
while(line!=null){
if(line.indexOf("JavaHome")!=-1){
break;
}
line=br.readLine();
}

br.close();

fr.close();
f.delete();//临时文件删除
String[] info=line.split("\"");


return info[3];
}

public void copyFiles(String filePath1,String filePath2) throws IOException{
File f1,f2;
FileInputStream fin;
FileOutputStream fout;
f1=new File(filePath1);
fin=new FileInputStream(f1);
f2=new File(filePath2);
fout=new FileOutputStream(f2);
int i;
while((i=fin.read())!=-1){
fout.write(i);
}
fout.close();
fin.close();


}
public static void main(String[] artg) throws IOException{

Setup setup=new Setup();
setup.createTemp();
String jrePath=setup.getJrePath();
System.out.println(jrePath);

}
}

Java 允许您玩在线游戏,与世界各地的人聊天,计算您的按揭利息,并以 3D 形式查看图像。这些以 Java 编程语言编写的应用程序和可从浏览中访问的应用程序称为小程序。公司还将 Java 小程序用于内部网应用程序和其他电子商务的解决方案。所有主要行业的公司都在使用 Java。无论是部署在手机、嵌入式设备、游戏机、笔记本电脑还是数据中心,Java 都提供了当今网络应用所需要的丰富的用户界面、性能、多功能性、可移植性和安全性。Java 平台标准版软件是快速开发和部署安全、便携式应用程序的首选平台,可跨大多数操作系统的服务器和桌面系统。 Java 平台标准版(Java SE)可让您在台式机和服务器以及当今苛刻的嵌入式环境中开发和部署 Java 应用程序。Java 提供了当今应用程序所需的丰富的用户界面、性能、通用性、可移植性和安全性。 Java SE Runtime Environment(运行时环境)包含了运行以 Java 编程语言编写的程序所必需的 Java 虚拟机、运行时类库和 Java 应用程序启动器。 Java 平台的安全性 一个由角色提供的安全信息的描述。适用于开发人员,系统管理员,家庭用户和安全专业人士。 主要特点: - 在一个平台上编写软件,并可在几乎任何其它平台上运行 - 创建的程序可在 Web 浏览器和 Web 服务中运行 - 可开发用于在线论坛、商店、投票、HTML 表单处理等服务器端应用程序 - 结合基于 Java 技术的应用程序或服务来创建高度可定制的应用程序或服务 - 为手机、远程处理器、低成本消费产品和几乎任何具有数字内核的设备编写功能强大且高效的应用程序 Java SE 8 现在可用 Java 平台标准版 8(Java SE 8)是一个主要的功能版本。它包含了很多功能领域的新功能和增强功能。Java SE 8 通过减少样板代码,改进了集合和注释,简单的并行编程模型和更有效地利用现代多核处理器,提高了开发人员的工作效率和显着的增强了应用程序的性能。 Java SE 8u172 版本更新:2018年4月17日
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值