Backup com java não esta gerando o arquivo ".sql"

Pessoal, porque esse código não funciona? tentei implementar no meu projeto e parece que foi realizado, mas não gera o arquivo.(WEB)
Nenhum dos exemplos funcionou.

public void backup() {
  	//	String nomeBanco ="nome_banco";
        String arquivo = "backup";
        try { 
            	  
          	  Runtime bck = Runtime.getRuntime();
                  bck.exec("C:/xampp/mysql/bin/mysqldump.exe -v -v -v --host=localhost --user=root --password=admin --port=3306 --protocol=tcp --force --allow-keywords --compress  --add-drop-table --default-character-set=latin1 --hex-blob  --result-file="+arquivo+" --databases nomeBanco");
                  System.out.println("Backup realizado com sucesso.Tudo OK!");
               
    //            bck.exec("C:/xampp/mysql/bin/mysqldump.exe -v -v -v --host=localhost --user=root --password=admin --port=3306 --protocol=tcp --force --allow-keywords --compress  --add-drop-table --default-character-set=latin1 --hex-blob  --result-file="+arquivo+" --databases nomeBanco");
    //        	  String comando = "C:/xampp/mysql/bin/mysqldump.exe";
    //        	  ProcessBuilder pb = new ProcessBuilder(comando, "--user=root","--password=admin", nomeBanco, "--result-file=" +nomeBKP+".sql");
    //            pb.start(); 

              }
              catch (Exception exc) 
              {
            	  exc.printStackTrace();
          	  }
        }
}

O que estou fazendo de errado?

manda o script imprimir o comando.

abre o cmd do windows e copia isso. funciona?

Blz!?
@peczenyj, usando o cmd funcionou corretamente o backup;

...-- Connecting to localhost...
-- Retrieving rows...
-- Retrieving table structure for table terminal_atendimento...
-- Sending SELECT query...
-- Retrieving rows...
-- Retrieving table structure for table tipo_pagamento...
-- Sending SELECT query...
-- Retrieving rows...
-- Retrieving table structure for table unidade_medida...
-- Sending SELECT query...
-- Retrieving rows...
-- Retrieving table structure for table venda...
-- Sending SELECT query...
-- Retrieving rows...
-- Disconnecting from localhost...

porem pelo script não funfou ainda

Runtime.getRuntime().exec(“cmd /c C:\mysql\bin\mysqldump.exe -v -v -v --host=localhost --user=root --password= --port=3306 --protocol=tcp --force --allow-keywords --compress --add-drop-table --default-character-set=latin1 --hex-blob --result-file=backupDB --databases DBname”);

acima é uma de varias tentativas não bem sucedida…
Alguem???

Alguém sabe o porque de não gerar o arquivo com esse comando em java?

Não sei se é o seu caso, tive o mesmo problema so consegui resolver colocando uma senha no servidor do banco de dados , pelo que vejo o seu esta sem senha ,ai não sei porque não funciona de dentro do java so em cmd mesmo. Tenta por uma senha no servidor do banco e colocar ela na chamada do Runtime, talvez funcione , comigo pelo menos deu certo.

@Joesel infelizmente não deu certo aconteceu a mesma coisa.

Outro teste realizado foi usando o método desta maneira para obter a exception, porem da acesso negado .
Com a classe BufferedReader eu consigo obter o erro do Runtime() ,
mas o erro permanece.

public void backup() {

      try { 
          Runtime rt = Runtime.getRuntime();
          String[] commands = {"C:\\xampp\\mysql\\bin\\mysqldump.exe"
          		+ " -v -v -v --host=localhost --user=root --password= --port=3306 "
          		+ "--protocol=tcp --force --allow-keywords --compress  "
          		+ "--add-drop-table --default-character-set=latin1 --hex-blob "
         		+ " --result-file=BACKUP.sql --databases NOMEDB"};
          Process proc = rt.exec(commands);

          BufferedReader stdInput = new BufferedReader(new 
               InputStreamReader(proc.getInputStream()));

          BufferedReader stdError = new BufferedReader(new 
               InputStreamReader(proc.getErrorStream()));

          // read the output from the command
          System.out.println("Here is the standard output of the command:\n");
          String s = null;
          while ((s = stdInput.readLine()) != null) {
              System.out.println(s);
          }

          // read any errors from the attempted command
          System.out.println("Here is the standard error of the command (if any):\n");}
          while ((s = stdError.readLine()) != null) {
              System.out.println(s);
           } catch (Exception exc) 
      {
    	  exc.printStackTrace();
    	  System.out.println(exc);
    	  }
     
}

O erro que esta aparecendo é esse:

mysqldump: Got error: 1102: Incorrect database name ’ -v -v -v --host=localhost --user=root --password= --port=3306 --protocol=tcp --force --allow-keywor’ when selecting the database

tentei executar o camando como administrador usando comando runa:

Process proc = rt.exec("runas /userALL Users "+commands);