本文共 1214 字,大约阅读时间需要 4 分钟。
1、在Jblendia初始化file system时(第一次开机/restore factory后),没有生成z:\@Java\JavaAppFactory这个文件夹。 2、在安装完Java后,执行srv_java_appfactory_add_record,其中有如下逻辑。 handle = FS_Open((U16*) filename, FS_CREATE_ALWAYS | FS_COMMITTED);//此时尝试打开文件z:\@Java\JavaAppFactory\xxx,但是发现文件夹不存在 if (handle < 0) { if(handle == FS_PATH_NOT_FOUND ) { kal_wsprintf(filename, "%s\\%s\0",JAVA_SYS_PATH,JAVA_APP_FACTORY_NAME); FS_CreateDir(filename);//重新生成文件夹 } err_code = 2; } //但是生成文件夹后,就没有再次尝试生成java应用所需的文件了。 [对比] Rolltech:第一次开机jam_main -> javaFileGenerator a) 在jam_call_back_functions.jam_check_and_gen_sys_file中生成z:\@Java。 b) srv_java_appfactory_gen_file里面生成z:\@Java\JavaAppFactory。 Aplix:第一次开机jam_main -> javaFileGenerator -> srv_java_appfactory_gen_file,此时z:\@java文件夹还没有生成,因此srv_java_appfactory_gen_file中。 kal_wsprintf(filename, "%s\\%s\0",JAVA_SYS_PATH,JAVA_APP_FACTORY_NAME); if((handle = FS_CreateDir(filename)) < FS_NO_ERROR)//filename此处是z:\@Java\JavaAppFactory create dir会返回FS_PATH_NOT_FOUND。 [SOLUTION] 以下两种方法皆可解决: 1、请Jblendia在初始化的时候在srv_java_appfactory_gen_file之前先准备好z:\@java文件夹,使得srv_java_appfactory_gen_file可以成功创建z:\@Java\JavaAppFactory。 2、在srv_java_appfactory_add_record中修改,即接受开机后z:\@Java\JavaAppFactory不存在的可能性。此处如果发现路径不存在,就重新生成文件夹;然后继续生成所需的文件。转载地址:http://esgdi.baihongyu.com/