Erro em compilação de programa

5 respostas
A

Olá pessoal sou novato em Java, estou precisando compilar um programa em Java que auxilia na conversão de certificados com extensão .cer em pfx. Esse é o programa:

import java.io.*; 
import java.security.*;   
public class DumpKey {   
static public void main(String[] a) {    
 if (a.length<5) { 
      System.out.println("Usage:");
      System.out.println("java DumpKey jks storepass alias keypass out");       
return;  
   }    
 String jksFile = a[0];    
char[] jksPass = a[1].toCharArray();   
 String keyName = a[2];
 char[] keyPass = a[3].toCharArray();
 String outFile = a[4];
 try {      KeyStore jks = KeyStore.getInstance("jks");
 jks.load(new FileInputStream(jksFile), jksPass);
      Key key = jks.getKey(keyName, keyPass);
      System.out.println("Key algorithm: "+key.getAlgorithm());
      System.out.println("Key format: "+key.getFormat());
      System.out.println("Writing key in binary form to "+outFile);
      FileOutputStream out = new FileOutputStream(outFile);
      out.write(key.getEncoded());
      out.close();
    }
 catch (Exception e) { 
     e.printStackTrace();
      return; 
   }
  }
}

E esse é o erro:

root@optimus-bala:/Box/Certificados/Teste1# javac DumpKey.java

DumpKey.java:30: error: ) expected

if (a.length<5) {

^

DumpKey.java:30: error: not a statement

if (a.length<5) {

^

DumpKey.java:30: error: ; expected

if (a.length<5) {

^

3 errors

Se alguem interessar pelo artigo: http://www.marcusmazzo.com.br/?p=129

5 Respostas

Jonas_B_a_r_r_o_s

Onde você está passando os args? Pois está verificando se é menor que 5

Jeanfbs

pode não ser, mas verifica o espaço entre o if (a.lenght o certo seria if(a.lenght, você esta errando na sintaxe do codigo, veja os epaços entre os comandos.

Jonas_B_a_r_r_o_s

Jeanfbs, não pode ser o espaçamento.

Ele pode fazer até assim.

if

…continua os espaços
…+ 1000 linhas
…continua

(a.length) {}
Jonas_B_a_r_r_o_s

E parece que você está usando o CMD para compilar. Porque não usa uma IDE? Netbeans por exemplo, seria melhor para você encontrar os erros, depurar etc

A

Olá pessoal desculpe a demora para uma resposta, mas o defeito tá no &lt trocar por <

Depois que troquei por esse simbolo funcionou perfeitamente.

Essa dica quem me passou foi o Marcus autor do artigo que mencionei no final do topico.

Muito obrigado pela colaboração de todos.

Criado 21 de julho de 2016
Ultima resposta 24 de jul. de 2016
Respostas 5
Participantes 3