IBM J9 VM: "Impossível carregar jclfoun10_22"
Recentemente eu fiz o download da versão trial do WSDD - Websphere Studio Device Developer - para brincar um pouco programando para meu PocketPC. Ao instalar a JVM em meu Pocket, eu fui surpreendido com um erro chato que empedia o J9 de rodar adequadamente. Relato a seguir o problema que tive e sua solução.
O WSDD vem com o WEME - WebSphere Everyplace Micro Environment - que basicamente contém uma coleção de JVMs. São diversas JVMs para diversos tipos de handhelds, de Palm Tops a telefones celulares, todas acompanhando o WEME.
J9 com o problema da DLL.J9 funcionando.
Para meu Pocket PC, um HP iPAQ h5550 com o Windows Mobile 2003, há duas diferentes implementações diferentes de JVMs e suas respectivas bibliotecas: MIDP 2.0 (CLDC) e Personal Profiler 1.0 (CDC). Eu instalei as duas, mas somente a primeira funcionou de imediato. Para que a segunda funcionasse adequadamente, eu tive que ralar um pouco até descobrir o problema.
O problema ocorria quando tentava executar o \Arquivos de programas\J9\PPRO10\bin\j9.exe em meu PocketPC. Este é o arquivo o que fornece acesso a JVM J9. A mensagem de erro era:
(E)EXEX0013 Erro interno de VM: Falha ao criar Java VM
(I)EXEX0014 Executar \Arquivos de programas\J9\PPRO10\bin\j9.exe -help para uso
Após ter escrito a primeira versão desse texto (que se passa acima), verifiquei no guia de instalação do J9 PP, que há um parâmetro que pode ser passado para o J9 via linha de comando. É o parâmetro -jcl:[config] que especifica qual DLL JCL será utilizada (qual JNI nativa será utilizada pelo código Java de biblioteca de classe). Abaixo reproduzo trecho do próprio guia que trata do parâmetro:
Se você utilizar o -jcl:<config> sem indicar um -Xbootclasspath: <caminho>, então o valor para o -Xbootclasspath: <caminho> será assumido (%JAVAHOME%/lib/jclLibraryName/classes.zip). No entanto, se as bibliotecas de classe forem armazenadas em um local que não seja padrão, você deverá incluir o -Xbootclasspath: <caminho> para direcionar a VM para o arquivo classes.zip.
Nota: Se o -Xbootclasspath e as opções -jcl da VM forem incompatíveis, a VM gerará um erro "Biblioteca de classe incompatível".
Os argumentos possíveis de biblioteca são:
- -jcl:foun10 (biblioteca de classe jclFoundation10)
- -jcl:ppro10 (biblioteca de classe jclPPro10)
- -jcl:midp20 (biblioteca de classe jclMidp2.0)
- -jcl:max (biblioteca de classe jclMax)
- -jcl:rm (biblioteca de classe jclRM)
Nota: Nem todas estas opções estão disponíveis para todas as plataformas.
0 Comments:
Post a Comment
<< Home