Java启动外壳程序的开发

Java程序通过JAR发布不稳定,与系统环境相关。为解决此问题,可捆绑JRE和开发外壳程序。捆绑JRE可通过安装程序完成,外壳程序需自行开发,文中还给出了示范代码。

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

Java程序的发布一般都是通过JAR发布,但是通过JAR发布一般不是很稳定,因为和系统环境相关,在有的系统环境比较混乱的情况下,无法执行JAR文件,因此一般通过捆绑JRE和开发一个外壳程序来达到。

捆绑JRE一般是直接拷贝到程序目录下,有安装程序,如InstallShield或InstallAnywhere即可完成。

而外壳程序则需要自己开发。示范代码如下:

typedef struct
{
    CreateJavaVM_t CreateJavaVM;
    GetDefaultJavaVMInitArgs_t GetDefaultJavaVMInitArgs;
} InvocationFunctions;

...

int APIENTRY WinMain(HINSTANCE hInstance,
      HINSTANCE hPrevInstance,
      LPSTR lpCmdLine,
      int nShowCmd )
{
 SetThreadLocale(GetSystemDefaultLCID());

//JRE环境和程序环境的获取

JavaVMOption options[3];
 JavaVMInitArgs vm_args;

...

//确定程序的运行参数 

JavaVM *vm = 0;
 JNIEnv *env = 0;
 jobjectArray mainArgs;
 InvocationFunctions ifn;

LoadJavaVM(jvmPath, &ifn);

ifn.CreateJavaVM(&vm, (void**)&env, &vm_args);

//获取主类以及程序运行参数

...

//调用主函数

env->CallStaticVoidMethod(mainClass, mainMethodID, mainArgs);
 vm->DetachCurrentThread();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值