Eu nunca gostei de chamar um programa clicando diretamente sobre o JAR, porque dessa forma não consigo passar os parâmetros adequados.
Eu normalmente escreveria uma batch (digamos que você crie um arquivo com o nome “sistema.bat” , e no Windows 98 seria mais ou menos assim:
start javaw -classpath SeuJar.jar;JarBancoDados.jar;JarUtilitarios.jar seu.pacote.sua.Classe seus parametros
onde “start” é um comando do DOS, “javaw” é o nome do arquivo “javaw.exe” que você precisa para iniciar o Java nessa máquina Windows 98, “seujar.jar” é o jar do seu programa, “jarbancodados.jar” e “jarutilitarios.jar” são os outros jars que você precisa para rodar o programa, “seu.pacote.sua.Classe” a classe principal do seu programa (aquela que tem o “main”), e “seus parametros” algum parâmetro adicional que você precise para rodar o programa.
Você então põe um atalho no menu Iniciar ou então no desktop (Área de Trabalho) para essa batch.
Vai aparecer por um segundo uma janelinha preta (esse é um dos inconvenientes de uma batch), mas pelo menos o programa deve rodar direitinho. Se não estiver rodando direito, troque “javaw” por “java”, que vai aparecer uma tela preta com as exceptions que ocorreram (por exemplo, se você esqueceu de copiar algum jar para a máquina do seu chefinho…)
Outra dica: eu normalmente não gosto de configurar o CLASSPATH nem o JAVA_HOME. Como rodo N versões de Java na minha máquina e com N programas diferentes, se eu for configurar o CLASSPATH a cada vez que for rodar algum de meus programas eu fico doido. Eu prefiro explicitar o CLASSPATH na linha de comando, tal como mostrei acima com o parâmetro “-classpath” que passo para o javaw.exe.