2016-07-23 19 views
1

Hier ist mein Programm und es funktioniert gut, aber nicht öffnen, sobald ich es in ein Glas gemacht haben.Erstellen einer ausführbaren JAR-Datei

und der Befehl, um es in eine .jar-Datei zu verwandeln;

jar -cvfm chat.jar manifest.txt client.class 

mein Programm ist in Ordnung, mein Manifest ist genau so, wie soooooo werden soll ..... IDK bitte

Hilfe. Jedes andere Programm mache ich zu einem funktionierenden .jar, aber nicht zu diesem.

class client { 

    public static Socket s; 
    public static JTextArea jta; 
    public static String server; 
    public static String name; 

    public static void main(String args[]) throws Exception { 

     Thread t = new Thread(new Runnable() { 

      public void run() { 
       try { 
        s = new Socket(server, 9000); 
        DataInputStream dis = new DataInputStream(s.getInputStream()); 
        String str; 
        while ((str = dis.readUTF()) != null) { 
         jta.append(str + "\n"); 
        } 
       } catch (Exception e1) { 
       } 
      } 
     }); 

     JFrame j = new JFrame("Test"); 
     j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     j.setVisible(true); 

     jta = new JTextArea(); 
     JScrollPane jsp = new JScrollPane(jta); 
     j.add(jsp); 

     JTextField jtf = new JTextField(); 
     jtf.setFont(new Font("", Font.BOLD, 14)); 
     j.add(jtf, BorderLayout.SOUTH); 

     JPanel jp = new JPanel(); 
     jp.add(new JLabel("Name:")); 
     JTextField jtfN = new JTextField(); 
     jtfN.setPreferredSize(new Dimension(180, 20)); 
     jp.add(jtfN); 

     jp.add(new JLabel("Server:")); 
     JTextField jtfS = new JTextField(); 
     jtfS.setPreferredSize(new Dimension(180, 20)); 
     jp.add(jtfS); 
     int jop = JOptionPane.showConfirmDialog(null, jp, "Enter Username and Server.", JOptionPane.OK_CANCEL_OPTION); 
     if (jop == 0) { 
      name = jtfN.getText(); 
      server = jtfS.getText(); 
      t.start(); 
     } 

     jtf.addKeyListener(new KeyListener() { 

      public void keyTyped(KeyEvent e) { 

      } 

      public void keyPressed(KeyEvent e) { 

      } 

      public void keyReleased(KeyEvent e) { 
       if (e.getKeyCode() == KeyEvent.VK_ENTER) { 
        try { 
         String data = name + ": " + jtf.getText(); 
         DataOutputStream dos = new DataOutputStream(s.getOutputStream()); 
         dos.writeUTF(data); 
         jta.append(data + "\n"); 
         jtf.setText(""); 
        } catch (Exception e1) { 
        } 
       } 
      } 
     }); 

     /////////////////////// 
     j.getContentPane().setPreferredSize(new Dimension(800, 500)); 
     j.pack(); 
     j.setLocationRelativeTo(null); 

    } 
} 
+0

welche IDE verwenden Sie? –

+0

Ich nur Eingabeaufforderung und Editor ++. – EchoCode

Antwort

2

machen .jar-Datei von .java-Datei

  1. Zuerst stellen Sie sicher, dass Sie den Dateinamen und Ihr Klassennamen identisch sind. "client.java" wo class ist client
  2. Erstellen Sie jetzt eine manifest.txt-Datei. und schreiben diese

    Main-Klasse: Your_Main_Class_name

    In Ihrem Fall ist es

    Main-Klasse: Client

    nun die Datei abspeichern

  3. stellen Sie sicher, dass Ihre beide Datei (.java und manifest.txt) auf dem gleichen Verzeichnis

  4. Öffnen Sie die Eingabeaufforderung
  5. Gehen Sie zu diesem Ordner, in dem Sie .java und manifest.txt-Datei gespeichert. Mit Befehl

    cd your_path

  6. kompilieren Sie nun Ihre .java-Datei Befehl

    Javac client.java

  7. Jetzt haben Sie client.class Datei auf die gleicher Ordner

  8. Jetzt .jar-Datei verwenden diesen Befehl

    jar cfn client.jar manifest.txt client.class

  9. jetzt Ihre client.jar Datei auf demselben Verzeichnis erstellt wird

  10. zu machen

    zum Ausführen .jar-Datei verwenden Sie diesen Befehl

    java -jar-Client.jar