A partir de onde(diretório) ele executa uma operação? Se eu executo um comando dir, ele imprimirá que diretório, o raiz? No windows seria equivalente a imprimir o que está no c:?
Tentei fazer a seguinte chamada
Runtime.getRuntime().exec(“java Ocr”);
A class Ocr.class está em c:\ e recebi o erro: java.lang.NoClassDefFoundError: Ocr
Interpretei que este erro é devido a necessidade de setar o classpath, pois, uso vários pacotes .JAR pra rodar a classe.
Tentei colocar os pacotes na chamada da função. Pra simplificar vou colocar apenas um pacote e mostrar o que acontece.
Obrigado pelo manual. Confesso que não entendi que tipo de informação o mesmo pode me auxiliar a resolver o problema.
Como, em código, você resolveria o problema?
Muito Obrigado.
Fabrício
DETALHE: trocou-se o ponto (.) por barra (/).
Adianto que tentei colocar /, \ de todas as formas imagináveis pra fazer aparecer o ponto e nada.[/quote]
Voce nao indicou o classpath na sintaxe correta - o java pensou que “classpath=blabla” eh a classe que voce quer executar.
[quote=fimbrizi]Existe uma forma mais simples de setar o classpath?
Por que a MVJ não reconheceu as variáveis de ambiente do sistema operacional?[/quote]
Entao - o tutorial que o Lipe indicou eh pra isso. Depois que comecei a utilizar o Eclipse apaguei esse tipo de coisa da minha cabeca. :mrgreen:
Em todo caso, uma possibilidade seria voce criar um arquivo JAR, indicar o classpath no Manifest (creio que da pra fazer isso) e entao rodar com “java -jar pacotinho.jar”. Bem mais simples - ha uns dias atras precisei empacotar uma app pra outra pessoa rodar e fiz isso. Soh que o meu JAR era independente, nao precisava de outras coisas no classpath como o teu.
Resolvi o problema. Usei um pouco do comentário de cada e segue abaixo a solução:
Runtime.getRuntime().exe("java -cp C:\\j2sdk1.4.2_04\\jre\\lib\\ext\\mlibwrapper_jai.jar;C:\\Ocr.jar Ocr");
Utilizei as barras duplas, pois, do contrário tinhamos um erro em tempo de compilação.
Usei o parâmetro "-cp" que o danieldestro sugeriu e o problema do ponto ser substituido por barra foi solucionado. Mas somente isto não resolveu meu problema, pois continuava a aparecer a mensagem abaixo:
java.lang.NoClassDefFoundError: Ocr
Para resolver o problema usei a dica do kuchma e do Lipi e empacotei minha classe Ocr.class num JAR. A grosso modo, compactei com ZIP e substitui o .ZIP por .JAR.
Pronto. Funcionou!
Muito Obrigado
Fabrício