检验检测机构公信力:将java程序打包成exe
来源:百度文库 编辑:中财网 时间:2024/10/05 11:03:22
将java程序打包成exe 本帖链接
这个不知选啥分类了。。。。虽说是delphi程序,但是操作的核心却是java。。。不管了。。还是点了个 java类。。。下面进入正题:
从java刚出来时,就研究这个问题了,由于java是跨平台的,如果打包成exe,就变成了只有windows下才能使用的程序,与java的本来意愿不符。所以我一直在寻找一种既能打包,又能不破坏兼容性的方法。
网上有许多java打包工具,都能把java的class文件弄成exe,但是如果想要兼容其他的平台,那就只有自己动手写代码了。在此,我选用了Delphi对java程序进行打包,因为只有Delphi才能够直接跨平台,它与java的配合是相当默契的。经过打包的程序能同时在windows和Red Hat linux下运行。
下面给出源代码:
首先制作一个资源文件,命名为Java.rc,内容如下:
App javafile App.class
然后保存,在控制台下用Brcc32 Java.rc命令行编译
编译完成后生成一个Java.res文件,在程序中引用这个文件就相当于导入了该class文件
program JavaApp;
uses
Registry,Classes,
{$IFDEF MSWINDOWS}Windows{$ENDIF}
{$IFDEF LINUX}Qt,QTypes,QStyle{$ENDIF};
{$R java.RES}
{$R *.res}
var
{$IFDEF MSWINDOWS}Reg:TRegistry;{$ENDIF}
Java_HOME:string;
Java:string;
JavaStream:TResourceStream;
begin
{$IFDEF MSWINDOWS}
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('SYSTEM\ControlSet001\Control\Session Manager\Environment',true);
Java_HOME:=reg.ReadString('JAVA_HOME');
Reg.Free;
{$ELSE $IFDEF LINUX}
Java_HOME:='Root/Bin/J2SDK';
{$ENDIF}
{$IFDEF MSWINDOWS}
Java:=Java_HOME+'\Bin\Java.exe';
{$ELSE $IFDEF LINUX}
Java:=Java_HOME+'/Bin/Java.so';
{$ENDIF}
JavaStream:=TResourceStream.Create(HInstance,'App','javafile');
JavaStream.SaveToFile('App.class'); 将java程序打包成exe 本帖链接
这个不知选啥分类了。。。。虽说是delphi程序,但是操作的核心却是java。。。不管了。。还是点了个 java类。。。下面进入正题:
从java刚出来时,就研究这个问题了,由于java是跨平台的,如果打包成exe,就变成了只有windows下才能使用的程序,与java的本来意愿不符。所以我一直在寻找一种既能打包,又能不破坏兼容性的方法。
网上有许多java打包工具,都能把java的class文件弄成exe,但是如果想要兼容其他的平台,那就只有自己动手写代码了。在此,我选用了Delphi对java程序进行打包,因为只有Delphi才能够直接跨平台,它与java的配合是相当默契的。经过打包的程序能同时在windows和Red Hat linux下运行。
下面给出源代码:
首先制作一个资源文件,命名为Java.rc,内容如下:
App javafile App.class
然后保存,在控制台下用Brcc32 Java.rc命令行编译
编译完成后生成一个Java.res文件,在程序中引用这个文件就相当于导入了该class文件
program JavaApp;
uses
Registry,Classes,
{$IFDEF MSWINDOWS}Windows{$ENDIF}
{$IFDEF LINUX}Qt,QTypes,QStyle{$ENDIF};
{$R java.RES}
{$R *.res}
var
{$IFDEF MSWINDOWS}Reg:TRegistry;{$ENDIF}
Java_HOME:string;
Java:string;
JavaStream:TResourceStream;
begin
{$IFDEF MSWINDOWS}
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('SYSTEM\ControlSet001\Control\Session Manager\Environment',true);
Java_HOME:=reg.ReadString('JAVA_HOME');
Reg.Free;
{$ELSE $IFDEF LINUX}
Java_HOME:='Root/Bin/J2SDK';
{$ENDIF}
{$IFDEF MSWINDOWS}
Java:=Java_HOME+'\Bin\Java.exe';
{$ELSE $IFDEF LINUX}
Java:=Java_HOME+'/Bin/Java.so';
{$ENDIF}
JavaStream:=TResourceStream.Create(HInstance,'App','javafile');
JavaStream.SaveToFile('App.class');
{$IFDEF MSWINDOWS}
WinExec(PChar(Java+' App'),SW_Hide);
{$ELSE $IFDEF LINUX}
asm
Call RH.Run(PChar(Java+' App'));
end;
{$ENDIF}
JavaStream.Free;
end.
一切搞定,现在可以运行EXE了。如果要放到Linux下运行,只需要把EXE改成SO就行了
{$IFDEF MSWINDOWS}
WinExec(PChar(Java+' App'),SW_Hide);
{$ELSE $IFDEF LINUX}
asm
Call RH.Run(PChar(Java+' App'));
end;
{$ENDIF}
JavaStream.Free;
end.
一切搞定,现在可以运行EXE了。如果要放到Linux下运行,只需要把EXE改成SO就行了
这个不知选啥分类了。。。。虽说是delphi程序,但是操作的核心却是java。。。不管了。。还是点了个 java类。。。下面进入正题:
从java刚出来时,就研究这个问题了,由于java是跨平台的,如果打包成exe,就变成了只有windows下才能使用的程序,与java的本来意愿不符。所以我一直在寻找一种既能打包,又能不破坏兼容性的方法。
网上有许多java打包工具,都能把java的class文件弄成exe,但是如果想要兼容其他的平台,那就只有自己动手写代码了。在此,我选用了Delphi对java程序进行打包,因为只有Delphi才能够直接跨平台,它与java的配合是相当默契的。经过打包的程序能同时在windows和Red Hat linux下运行。
下面给出源代码:
首先制作一个资源文件,命名为Java.rc,内容如下:
App javafile App.class
然后保存,在控制台下用Brcc32 Java.rc命令行编译
编译完成后生成一个Java.res文件,在程序中引用这个文件就相当于导入了该class文件
program JavaApp;
uses
Registry,Classes,
{$IFDEF MSWINDOWS}Windows{$ENDIF}
{$IFDEF LINUX}Qt,QTypes,QStyle{$ENDIF};
{$R java.RES}
{$R *.res}
var
{$IFDEF MSWINDOWS}Reg:TRegistry;{$ENDIF}
Java_HOME:string;
Java:string;
JavaStream:TResourceStream;
begin
{$IFDEF MSWINDOWS}
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('SYSTEM\ControlSet001\Control\Session Manager\Environment',true);
Java_HOME:=reg.ReadString('JAVA_HOME');
Reg.Free;
{$ELSE $IFDEF LINUX}
Java_HOME:='Root/Bin/J2SDK';
{$ENDIF}
{$IFDEF MSWINDOWS}
Java:=Java_HOME+'\Bin\Java.exe';
{$ELSE $IFDEF LINUX}
Java:=Java_HOME+'/Bin/Java.so';
{$ENDIF}
JavaStream:=TResourceStream.Create(HInstance,'App','javafile');
JavaStream.SaveToFile('App.class'); 将java程序打包成exe 本帖链接
这个不知选啥分类了。。。。虽说是delphi程序,但是操作的核心却是java。。。不管了。。还是点了个 java类。。。下面进入正题:
从java刚出来时,就研究这个问题了,由于java是跨平台的,如果打包成exe,就变成了只有windows下才能使用的程序,与java的本来意愿不符。所以我一直在寻找一种既能打包,又能不破坏兼容性的方法。
网上有许多java打包工具,都能把java的class文件弄成exe,但是如果想要兼容其他的平台,那就只有自己动手写代码了。在此,我选用了Delphi对java程序进行打包,因为只有Delphi才能够直接跨平台,它与java的配合是相当默契的。经过打包的程序能同时在windows和Red Hat linux下运行。
下面给出源代码:
首先制作一个资源文件,命名为Java.rc,内容如下:
App javafile App.class
然后保存,在控制台下用Brcc32 Java.rc命令行编译
编译完成后生成一个Java.res文件,在程序中引用这个文件就相当于导入了该class文件
program JavaApp;
uses
Registry,Classes,
{$IFDEF MSWINDOWS}Windows{$ENDIF}
{$IFDEF LINUX}Qt,QTypes,QStyle{$ENDIF};
{$R java.RES}
{$R *.res}
var
{$IFDEF MSWINDOWS}Reg:TRegistry;{$ENDIF}
Java_HOME:string;
Java:string;
JavaStream:TResourceStream;
begin
{$IFDEF MSWINDOWS}
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('SYSTEM\ControlSet001\Control\Session Manager\Environment',true);
Java_HOME:=reg.ReadString('JAVA_HOME');
Reg.Free;
{$ELSE $IFDEF LINUX}
Java_HOME:='Root/Bin/J2SDK';
{$ENDIF}
{$IFDEF MSWINDOWS}
Java:=Java_HOME+'\Bin\Java.exe';
{$ELSE $IFDEF LINUX}
Java:=Java_HOME+'/Bin/Java.so';
{$ENDIF}
JavaStream:=TResourceStream.Create(HInstance,'App','javafile');
JavaStream.SaveToFile('App.class');
{$IFDEF MSWINDOWS}
WinExec(PChar(Java+' App'),SW_Hide);
{$ELSE $IFDEF LINUX}
asm
Call RH.Run(PChar(Java+' App'));
end;
{$ENDIF}
JavaStream.Free;
end.
一切搞定,现在可以运行EXE了。如果要放到Linux下运行,只需要把EXE改成SO就行了
{$IFDEF MSWINDOWS}
WinExec(PChar(Java+' App'),SW_Hide);
{$ELSE $IFDEF LINUX}
asm
Call RH.Run(PChar(Java+' App'));
end;
{$ENDIF}
JavaStream.Free;
end.
一切搞定,现在可以运行EXE了。如果要放到Linux下运行,只需要把EXE改成SO就行了
如何将java文件进行打包?也就是如何将java文件转换成.exe文件?
如何将java程序制作成.exe
如何将Applet程序打包成.exe文件??
JAVA程序怎样打包?
如何将.bin打包成.exe
怎样将程序打包成setup ?
java程序怎么打包啊?
有没有能将java程序打包生成可执行文件的工具?用jbuider9编写的程序!
如何将PPT文件打包成exe文件?
如何将一些文件打包成一个EXE文件
怎样将程序打包啊~~~
怎样把asp程序打包成exe格式?
打包程序即用C#如何生成??即打包成SetUp.exe文件!
java.exe是什么程序?
在InstallAnywhere中如何在将class文件打包成exe时引入JDBC驱动??
如何将Authorware打包的文件(*.a6r)转换成*.exe文件
用JBuilder2005把程序打包成.EXE文件的具体步骤是什么?
java怎样编译成可执行程序exe?
最好的打包程序是什么啊?我想打包vb的exe文件
如何将SQL数据库打包到网站程序里
■■■请问一下有没有将网页及其多媒体打包成EXE格式文件的软件呀?
ppt文件如何打包成EXE文件
ppt文件如何打包成EXE文件
如何将pascal程序转换成。exe文件?