Erro ao importar uma classe em um arquivo .jar para utilizar no meu programa

Olá amigos,
Esse é o meu primeiro post no GUJ.

Atualmente estou desenvolvendo um projeto para computação paralela, estou tentando criar um sistema para controlar um grid para submissão de jobs em batch.

Toda a programação está pronta, e testei tudo, utilizando a IDE eclipse, e na hora de preparar para distribuição os problemas começaram
Os jobs são códigos-fonte em python que são manipulados por uma classe no meu projeto chamada Job, está classe utiliza uma coleção de classes chamada Jython (Implementação de Python totalmente feita em Java).

Bom, no eclipse tudo funciona, depois crio o arquivo grid.jar até ai sem problemas.
quando vou executar a linha de comando:
java -jar grid.jar worker // inicia um trabalhador que executa os jobs
ele não encontra as classes do Jython.
Minha classpath está configurada como:
.;C:\Sun\SDK\lib;C:\jython\jython.jar;C:\Sun\SDK\jdk\jre\lib

agora, se eu digitar a linha a seguir
java -classpath %CLASSPATH%;c:\jython\jython.jar;.\grid.jar andre.bgrid.worker.Worker // Worker é a classe que controla os jobs
tudo funciona normalmente!

Gostaria de saber o motivo disso acontecer???

Obrigado

Uma das coisas péssimas em relação ao Eclipse (talvez tenha um plugin para corrigir isso), é que ele não adiciona a cláusula Class-Path on arquivo Manifest.

Ao gerar seu .jar, peça para o eclipse incluir o manifesto no seu workspace. Depois, altere o manifesto, incluindo a cláusula Class-Path e refaça seu .jar usando a opção de criar um arquivo .jardesc. Da próxima vez que for gerar o projeto, basta executar o jardesc.

Só um comentário. Eu já usei o Jython. Achei bem legalzinho, mas não gostei muitos das opções que tem para integração com o Java. Substituimos futuramente pelo Groovy, e estamos obtendo excelentes resultados, muito melhores que com Jython. Além de mais leve a mais rápido, o Groovy fornece recursos poderosos para quem está embarcando Eclipse, como reflexão dos arquivos de Script através do Java, verificação da sintaxe do código sem forçar a execução do Script, etc. Talvez seja tarde, mas já fica aí a dica para vocë conhecer. :wink:

Muito obrigado pela dica.

Quanto a escolha do Jython, eu só escolhi Jython pois queria que fosse possível submeter os jobs em uma linguagem muito popular.

Durante as pesquisas cheguei a ler sobre o Groovy, JRuby e um outro pra Javascript.

E não foi tarde, pois o projeto está todo orientado à objetos, e não vai dar muito trabalho substituir uma classe que compila código Python por uma que compila Grooovy, talvez eu deixe as duas.

Obrigado novamente