Executar arquivo jar e classe java com parâmetros

Olá,

Estou com a seguinte situação:

Preciso rodar uma classe em Unix AIX.

Esta classe jRFCInterface.class recebe 3 parâmetros: RFC.ini, log.err, I

Também preciso carregar dois conectores: jodbc14.jar e sapjco.jar

A linha de execução que me passaram: java -cp /tmp/rfc/ojdbc14.jar:sapjco.jar jRFCInterface RFC.ini log.err I

Já tentei de várias formas, mas sempre emite uma mensagem de erro como esta:
Exception in thread “main” java.lang.NoClassDefFoundError: jRFCInterface

Se informo -cp para a classe, o erro passa a ser para RFC.ini, que não é uma classe e sim um parâmetro.

Alguém tem uma idéia de como posso executar isto ?

[quote=sassneto]Olá,

Estou com a seguinte situação:

Preciso rodar uma classe em Unix AIX.

Esta classe jRFCInterface.class recebe 3 parâmetros: RFC.ini, log.err, I

Também preciso carregar dois conectores: jodbc14.jar e sapjco.jar

A linha de execução que me passaram: java -cp /tmp/rfc/[color=red][size=24]ojdbc14.jar[/size][/color]:sapjco.jar jRFCInterface RFC.ini log.err I

Já tentei de várias formas, mas sempre emite uma mensagem de erro como esta:
Exception in thread “main” java.lang.NoClassDefFoundError: jRFCInterface

Se informo -cp para a classe, o erro passa a ser para RFC.ini, que não é uma classe e sim um parâmetro.

Alguém tem uma idéia de como posso executar isto ?[/quote]

Troque ojdbc14.jar por jodbc14.jar

Mas o conector esta compactado como ojdbc14.jar.

Os dois jars estão na mesma pasta? Tente assim:

Outra coisa que você pode fazer é abrir cada jar e ver em qual deles tem essa classe jRFCInterface.

Não entendi.

Os 2 arquivos.jar são conectores de banco de dados, uma para Oracle e outro para SAP.
Já estavam prontos. Se não me engano foram extraídos do site da Oracle.
A classe jRFCInterface.class foi desenvolvida por uma pessoa que não esta mais na empresa, porém roda sem problemas em
ambiente Windows, com algumas DLL’s.
Já no Unix, onde hj preciso que rode, continua gerando o erro que informei.

Sim, esta tudo no mesmo diretório
O que me passou para executar gerou o mesmo erro, não encontrou a classe.

Outra coisa.
Qdo. tendo desta forma começa a dar a mensagem que não encontra I, mas isto é um parâmetro para jRFCInterface, assim como
RFC.ini e log.err.

java -cp /tmp/rfc/ojdbc14.jar:sapjco.jar -cp /tmp/rfc/jRFCInterface:/tmp/rfc/RFC.ini:/tmp/rfc/log.err I

Acho que você tem que passar o nome da classe jRFCInterface indicando o pacote

java -cp /tmp/rfc/ojdbc14.jar:/tmp/rfc/sapjco.jar[color=red]:. br.com.nomeDoPacote.jRFCInterface[/color] RFC.ini log.err I

Não entedi amigo, o que vc quer dizer com informar o pacote ?
br.com.nomeDoPacote. ???

Outra coisa.
Mexo muito pouco com java, mas muda alguma coisa do java para ambiente Windows para Unix ?
A forma de execução por exempo ?

Passei a ter a seguinte mensagem após testar de outra forma:
java -cp ojdbc14.jar:sapjco.jar:. jRFCInterface RFC.ini log.err I

{Exception in thread “main” java.lang.ExceptionInInitializerError: JCO.classInitialize():
Could not load middleware layer com.sap.mw.jco.rfc.MiddlewareRFC’
JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [sapjcorfc (Not found
in java.library.path)]
.}

Alguém consegue descrever isto ?

Olá,

Tenho o seguinte em meu código:

[code]// standard packages
import java.io.;
import java.lang.reflect.
;
import java.sql.;
import java.text.SimpleDateFormat;
import java.util.
;

// sap packages
import com.sap.mw.jco.*;

// oracle packages
import oracle.jdbc.driver.;
// standard packages
import java.io.
;
import java.lang.reflect.;
import java.sql.
;
import java.text.SimpleDateFormat;
import java.util.*;

// sap packages
import com.sap.mw.jco.*;

// oracle packages
import oracle.jdbc.driver.*;[/code]
minha CLASSPATH esta assim:
.:/usr/java6_64/lib/

o pacote sapjco.jar referente a linha // sap packages, encontra-se no diretório /usr/java6_64/lib/

Porém estou tendo a seguinte mensagem ao tentar executar a classe:
Exception in thread “main” java.lang.NoClassDefFoundError: com.sap.mw.jco.JCO

O QUE ESTA FALTANDO ???