O .jar não deliga o pc [Resolvido]

11 respostas
KaosBr

Boa noite,

Vi um topico aqui do forum sobre execução de comandos através do java, e resolvi fazer algo semelhante, porém estou com problema. Dentro do Netbeans, o comando e executado normalmetne. Porém quando executo o .jar, é exibido o erro da imagem abaixo:

Aqui vai o codigo utilizado:

package desligamento;

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class DesligarPC {
    
public static void Delisga() {
        try {
            Runtime.getRuntime().exec("shutdown -s -t 60");
        } catch (IOException ex) {
            Logger.getLogger(DesligarPC.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    public static void main(String args[]){
        DesligarPC z = new DesligarPC();
        DesligarPC.Delisga();
    }
}

O que está aocntecendo?

Obrigado :slight_smile:

[]s

11 Respostas

Adelar

Olá,
executei o seu código substituindo por um comando válido do DOS (“notepad”) e funcionou normalmente.
Você utilizou o mesmo projeto para fazer outros programas? Pode haver algum “lixo” no seu projeto… tenta limpar e construir/executar de novo. Pode ser também algum problema de configuração do ambiente.

Att.

KaosBr

Boa noite,

Fiz a troca, mas acabou ocrrendo o mesmo problema, dentro do Netbeans, agora com o comando “notepad” ela abriu o programa normalmente. Porém durante a executação do jar, diretamente o mesmo erro foi exibido.

Desta vez pude observar que, um aviso foi gerado durante a criação do bytecode: “Not copying libraries”.

Para verificar voltei o codigo como exibi acima, e o mesmo aviso foi exibido: “Not copying libraries”.

[]s

Adelar

Olá,
o “Not copying the libraries.” significa que o Netbeans não está incluindo na construção bibliotecas as bibliotecas. Isto não é erro.
Verifique se o JAR está sendo corretamente construído. Como exemplo seguem as linhas de saído de um projeto de exemplo:

Created dir: C:\Documents and Settings\adelar.ADELAR-COMP\Meus documentos\NetBeansProjects\AnagramGame\dist Not copying the libraries. Building jar: C:\Documents and Settings\adelar.ADELAR-COMP\Meus documentos\NetBeansProjects\AnagramGame\dist\anagrams.jar To run this application from the command line without Ant, try: java -jar "C:\Documents and Settings\adelar.ADELAR-COMP\Meus documentos\NetBeansProjects\AnagramGame\dist\anagrams.jar" jar: CONSTRUÍDO COM SUCESSO (tempo total: 3 segundos)
Verifique se o programa roda com a linha correspondente à linha 5 acima. Caso não rode é alguma configuração que está faltando, provavelmente das variáveis de ambiente JAVA_HOME e PATH.

Att.

KaosBr

Bo9a noite :slight_smile:

Fiz o ajuste da variavel de ambiente, porém, o erro persiste. Depois fiz outros, exercicios, e o erro ainda é exibido. O que estou achando estranho é:

Programas (*.jar) feitos ateriormente por mim são executados normalmente.

Programas (*.jar) feito por outras pessoas também são executados sem erros.

Alguem tem alguma ideia do que está acontecendo?

[]s

Adelar

Olá,
tenta colocar no arquivo Manifest.mf a linha “Main-Class: DesligarPC”.
(link com um problema semelhante http://www.artima.com/forums/flat.jsp?forum=1&thread=112807)

att.

KaosBr

Boa noite,

Obrigado pela ajuda até o momento :slight_smile: Consegui descompactar o arquivo e acrescentar a linha: Main-Class: Browser. Sem grandes problemas, agora, como faço pra transformar a pasta novamente em jar?

[]s

Adelar

Olá,
se você editar o arquivo Manifest.mf que estiver na pasta do projeto automaticamente quando fizer a geração do jar no Netbeans ele será jogado no jar.

Att.

KaosBr

Boa noite,

O unico local da pasta do projeto que consegui encontrar o arquivo: MAINFEST; Foi dentro do jar. Já pesquisei de formas diferentes, para localizar o arquivo, mas só encontrei esse.

[]s

Adaylon

Seu código não tem nenhum problema e nem tem a ver com o manifest. O problema é que vc não ta configurando o seu projeto no netbeans para que essa classe DesligarPC seja a principal. Vai em propriedades do projeto e configura isso. É só isso…

Adelar

Fail :? Projetos gerados no netbeans não geram automaticamente o arquivo manifest.mf, que fica na pasta principal do projeto. Se fizer o que indica o post anterior vai funcionar do jeito certo.

Att.

KaosBr

Bom dia,

Deu certo :slight_smile: obrigado :smiley:

[]s

Criado 16 de junho de 2010
Ultima resposta 19 de jun. de 2010
Respostas 11
Participantes 3