MS SQL: Jar Hell

Olá, estou desenvolvendo uma aplicação que precisa acessar tanto um base de dados oracle quanto outra em ms sql server 2005.
Para acessar o oracle, foi moleza, para acessar o ms sql, nem tanto.
No fim das contas tudo funciona quando a aplicação é executada dentro do eclipse.
Tudo finalizado e testado, chegou a hora de gerar o jar. Ai começou o inferno.
Se eu empacoto o arquivo sqljdbc.jar do mssql junto, na hora de executar aparece o erro:

Exception in thread “main” java.lang.SecurityException: invalid SHA1 signature
file digest for com/microsoft/sqlserver/jdbc/SQLServerException.class
at sun.security.util.SignatureFileVerifier.verifySection(Unknown Source)

Se eu deixo ela de fora, ai aparece o erro:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

Eu tenho a mais absoluta certeza de que o arquivo sqljdbc.jar está declarado corretamente no classpath.
Fiz alguns testes aqui e se crio uma aplicação simples de uma classe apenas que se refere a classe do driver do ms sql, compilando na linha de comando, quando executo na linha de comando tudo funciona corretamente. Mas se utilizar uma estrutura mais complexa, com várias classes distribuidas em uma árvore de diretórios, ou compilando pelo eclipse, quando executo por fora do eclipse, na linha de comando, não acha o jar do mssql de jeito nenhum.
Tentei usar na linha de comando o parametro -cp mas mesmo assim não funciona.

Por favor, me ajudem!

Depois de muito sofrer tentando fazer esse nhaca funcionar, desisti e tentei usar o driver jdbc jtds compativel com ms sql server.
Foi tão simples quanto fazer o driver jdbc do oracle funcionar.
As adaptações que eu tiver que fazer foram as seguinte:

//import com.microsoft.sqlserver.jdbc.SQLServerDriver;

import net.sourceforge.jtds.jdbc.Driver;

//static final String JDBC_DRIVER = “com.microsoft.sqlserver.jdbc.SQLServerDriver”;
//static final String DATABASE_URL = “jdbc:sqlserver://concretosrv\sqlexpress;databaseName=DB01;”;

static final String JDBC_DRIVER = “net.sourceforge.jtds.jdbc.Driver”;
static final String DATABASE_URL = “jdbc:jtds:sqlserver://concretosrv/DB01;instance=SQLEXPRESS”;
static final String USER = “joao”;
static final String PASSWD = “joao%123”;

try {
Class.forName(JDBC_DRIVER);
}
catch (ClassNotFoundException classNotFound) {
System.err.println(classNotFound);
}

try {
this.conn = DriverManager.getConnection(DATABASE_URL,USER,PASSWD);
this.stmt = conn.createStatement();

System.out.println("Conectou MS SQL Server");

}
catch (SQLException sqlError) {
System.err.println(sqlError);
}