一直都认为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 Runtime Environment (JRE) 1.4.2 是Java应用程序执行所需的关键组件,它为开发者和用户提供了在各种操作系统上运行Java应用的基础。这个版本是Sun Microsystems在2004年发布的一个重要里程碑,它在Java技术的...
Java Runtime Environment-6.0.26.exe
Java Runtime Environment(JRE)是Java程序运行所需的基础组件,由Oracle公司提供。1.6.0.7 版本是针对32位操作系统的一个特定发行版,这意味着它设计用于在32位Windows系统上执行Java应用程序。在这个版本中,Java...
Java Runtime Environment 1.8.0是Java开发和运行应用程序必不可少的一部分,它是Oracle公司发布的Java平台标准版(Java SE)的实现。这个版本是32位的,这意味着它设计用于在32位操作系统上运行,比如Windows XP、...
Java Runtime Environment(JRE)是Java程序运行所需的基础软件组件,它是Java开发工具集(Java Development Kit,JDK)的一部分。32位的Java Runtime Environment是专为32位操作系统设计的版本,允许用户在这样的...
Java Runtime Environment(JRE)是Java程序运行所需的基础组件,它是Oracle公司提供的Java平台标准版(Java SE)的一部分。在本例中,我们讨论的是版本1.8.0_45,这是一个64位的版本,专为64位操作系统设计。这个...
Java Runtime Environment(JRE)是Java程序运行所需的基础组件,它是Oracle公司提供的Java平台的核心部分。JRE 1.8.0_45是Java 8的一个特定版本,64位版本则是为在64位操作系统上运行Java应用程序设计的。这个版本...
java runtime environment(JRE)安装 2020-11-4 一、搭建环境 1.1 安装Keil 5 官网下载:http://www2.keil.com/mdk5/ 百度网盘:https://pan.baidu.com/s/18t_ta0WWX_f1KCKXfgj_Zw 提取码:gx3r 1.2 安装JRE 由于...
Installation notes for the J2SE Runtime Environment 5.0 (JRE), including system requirements and installation instructions, are available for the following platforms. Platform 32-bit Installation 64...
标题中的“JNA方式调用dll报错:A fatal error has been detected by the Java Runtime Environment:”是一个典型的Java编程问题,涉及到Java Native Access (JNA) 和动态链接库(dll)的交互。JNA是Java平台的一个...
Java Runtime Environment-6.0.200.2.exe JRE为JavaRunTimeEnvirment的简称,JavaRuntimeEnvironment(包括JavaPlug-in)是Sun的产品,包括两部分:JavaRuntimeEnvironment和JavaPlug-inJavaRuntimeEnvironment(JRE...
Java Runtime Environment(JRE)是Java程序运行所需的基础软件组件,它包含了Java虚拟机(JVM)、类库以及其他支持Java应用程序执行的组件。64位的Java Runtime Environment是为了在64位操作系统上运行Java程序而...
Java Runtime Environment(JRE)是Java程序运行所需的基础组件,它是Oracle公司提供的Java平台标准版(Java SE)的一部分。在本例中,我们讨论的是64位版本的JRE 1.8.0,适用于Windows操作系统。这个版本的JRE包含...
Java Runtime Environment(JRE)是Java程序运行所必需的基础组件,它包含了Java虚拟机(JVM)、类库以及Java程序运行所需的各种服务。在本例中,我们关注的是版本6.0.450,这是一个相对早期的版本,但它仍然在许多...
Java Runtime Environment(JRE)是Java程序运行所需的基础组件,它包含了Java虚拟机(JVM)、类库以及其他支持Java应用程序执行的必要组件。标题提到的"Java Runtime Environment 8u201"是指Java 8的第201次更新,...
Java SE Runtime Environment(运行时环境)包含了运行以 Java 编程语言编写的程序所必需的 Java 虚拟机、运行时类库和 Java 应用程序启动器。 Java 平台的安全性 一个由角色提供的安全信息的描述。适用于开发人员...
Java Runtime Environment,Java运行环境64位安装包,官网下载。 Java SE Runtime Environment 8 Downloads Do you want to run Java™ programs, or do you want to develop Java programs? If you want to run ...
java环境必备软件,很多软件运行时需要的就是这个环境
运行JAVA程序不可缺少的环境。一旦拥有Java软件,您即会进入一个全新的互动世界。 Java语言是稳居网络应用程序语言的首选之一。这都要归功于它高度的安全性以及跨平台的特性,几乎在目前所有的电脑平台上您都可以...
java 环境安装,版本6.0.29,可以用来支持java软件的开发,也可以支持android软件开发环境