"Criar arquivo jar"

1 resposta
cu_ringa

Antes de mais nada eu queria dizer q já fui no tutorial posto aqui no guj, mas mesmo assim não consegui fazer o arquivo jar.

Bem esse é meu arquivo de manifesto, e minha classe.
a arvóre de diretório e a seguinte c:java
ede

o diretório java é onde esta a classe Cliente e o manifest.tmp, o diretorio rede é o pacote criado quando a classe Cliente é compilada e seus *.class estao ai dentro. Quando digito:

jar cfm outrojar.jar manifest.tmp rede*.*

para criar o arquivo jar aparece o seguinte erro:

java.io.FileNotFoundException: manifest.tmp (O sistema nÒo pode encontrar o arqu
ivo especificado)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:103)
        at java.io.FileInputStream.<init>(FileInputStream.java:66)
        at sun.tools.jar.Main.run(Main.java:123)
        at sun.tools.jar.Main.main(Main.java:904)

alguem pode me dizer como faço para resolver isso, por favor só não me mandem uma outra página para mim ler, pq já li um bocado e nunca dá certo.

valeu galera!!!

Arquivo de Manifesto:( manifest.tmp )

Main-Class: Cliente
Name: rede/Cliente.class
Created-By: Carlos Bernardino

codigo fonte

package rede;

import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class Cliente extends JFrame{
   private JTextField jtext_1, jtext_2, jtext_3;
   private JTextArea display_1;
   private DatagramPacket sendPacket, receivePacket;
   private DatagramSocket socket;
	 private JComboBox jcombo_cor;
	 private String nick;
	 private Color color;
	 private String ips;
	 
	 private Color cor[] = {Color.BLACK, Color.BLUE, Color.CYAN, Color.DARK_GRAY, Color.GRAY,
										 Color.LIGHT_GRAY, Color.GREEN, Color.MAGENTA, Color.ORANGE, 
										 Color.PINK, Color.RED, Color.YELLOW};
										 
   public Cliente()
   {
      super( "Cliente" );
			
			nick = "";
			
			setResizable(false);
			
			Container c = getContentPane();
			//FlowLayout layout = new FlowLayout();
			//layout.setAlignment(FlowLayout.CENTER);
			//c.setLayout(layout);
			//c.setLayout(layout);
									
			String nome_cor[] = {"Black", "Azul", "Ciano", "Cinza Escuro", "Cinza", "Cinza Claro", 
												   "Verde", "Magenta", "Laranja", "Rosa", "Vermelho", "Amarelo"};
						
			JPanel panel_1 = new JPanel();
			JPanel panel_2 = new JPanel();
			JPanel panel_3 = new JPanel();
			JPanel panel_4 = new JPanel();
			JPanel panel_5 = new JPanel();
			JPanel panel_6 = new JPanel();
			
			JLabel ip_servidor = new JLabel("IP Servidor");
			JLabel label_nick = new JLabel("Nick");
			JLabel label_cor = new JLabel("Cor");
			JLabel label_mesagem = new JLabel("Mensagem");
			jcombo_cor = new JComboBox(nome_cor);
						
      jtext_1 = new JTextField( );
      jtext_1.setEditable(false);
      jtext_1.setColumns(13);
      jtext_2 = new JTextField( );
      jtext_2.setEditable(false);
      jtext_2.setColumns(45);
      jtext_3 = new JTextField( );
      jtext_3.setColumns(10);
      //enter.addActionListener( this );
            
      display_1 = new JTextArea( );
      display_1.setEditable(false);
      //display_1.addf(this);
      //display_2 = new JTextArea();
      
      panel_6.add(ip_servidor);
      panel_6.add(jtext_3);       
      panel_1.add(label_nick);
      panel_1.add( jtext_1 );
      panel_2.add(label_cor);
      panel_2.add(jcombo_cor);
      panel_3.add(panel_6);
      panel_3.add(panel_1);
      panel_3.add(panel_2); 
      panel_4.add(label_mesagem);
      panel_4.add(jtext_2);
      panel_5.add(panel_3);
      panel_5.add(panel_4);
      
      LineBorder lb = new LineBorder(Color.gray);
      panel_5.setBorder(lb);
      /*
            
      panel_1.setBorder(lb);		
      panel_2.setBorder(lb);
      panel_4.setBorder(lb);
      
      panel_3.setBorder(lb);
      panel_6.setBorder(lb);
      //
      */
      panel_6.setPreferredSize(new Dimension(210, 40)); 		
      panel_1.setPreferredSize(new Dimension(200, 40)); 		
      panel_2.setPreferredSize(new Dimension(160, 40)); 		
      panel_3.setPreferredSize(new Dimension(600, 50)); 		
      panel_4.setPreferredSize(new Dimension(600, 33)); 		
      panel_5.setPreferredSize(new Dimension(600, 100)); 		
      
      c.add(new JScrollPane(display_1), BorderLayout.CENTER);      
      c.add(panel_5, BorderLayout.SOUTH);
            
      setSize( 630, 550 );
      show();
			
			jtext_1.addActionListener(new Handler());
			jtext_2.addActionListener(new Handler());
			jtext_3.addActionListener(new Handler());
			jcombo_cor.addActionListener(new Handler());
						
      try {
         socket = new DatagramSocket();
      
      	 //thread = new Thread(this);
      	 //synchronized(thread){
      	 //wait();
      	 //thread.start();
      	 //}
      }
      catch( SocketException se ) {
         se.printStackTrace();
         System.exit( 1 );
      }
     //catch(InterruptedException ie){}
            
      //confirmarConexao();
      jtext_3.requestFocus(true);      
   }

   public void waitForPackets()
   {
      while ( true ) {
         try {
            // set up packet
            byte data[] = new byte[ 100 ];
            receivePacket =
               new DatagramPacket( data, data.length );
						
            // wait for packet
            socket.receive( receivePacket );
 
            // process packet
            /*
            display_1.append( "
Packet received:" +
               "
From host: " + receivePacket.getAddress() +
               "
Host port: " + receivePacket.getPort() +
               "
Length: " + receivePacket.getLength() +
               "
Containing:
	" +
               new String( receivePacket.getData(), 0,
                           receivePacket.getLength() ) );
             */ 
            display_1.append(new String( receivePacket.getData(), 0,
            														 receivePacket.getLength()) + '
');
            
            //System.out.println("muralha da China");
                        
            display_1.setCaretPosition(
              display_1.getText().length() );
            
            //jtext_2.requestFocus();
         }
         catch( IOException exception ) {
            display_1.append( exception.toString() + "
" );
            exception.printStackTrace();
         }
      }
   }
	
	 public void confirmarConexao(){
	 	 
	 	 try{
	 	 	 //wait();
	 	 	 String s = "";
	 	   byte data[] = s.getBytes();
	 	 
	 	   sendPacket = new DatagramPacket( data, data.length,
            			InetAddress.getByName(getIPServidor()), 5000 );
          
       socket.send(sendPacket);
     
       //display_1.append( "Conexão sucedida" );
       //display_1.setCaretPosition(display_1.getText().length() );     
     	 jtext_3.setEnabled(false);
     	 jtext_1.setEditable(true);
     	 jtext_2.setEditable(true);
     	 jtext_1.requestFocus(true);
     	 setTitle("Conectado ao Servidor");     	      	
     	 
     }
     catch(UnknownHostException uhe){
     	 jtext_3.setEnabled(true);
     	 jtext_3.setText("");
     	 jtext_3.requestFocus(true);
     	 JOptionPane.showMessageDialog(null, "IP do Servidor inválido", "IP",
     	 															JOptionPane.WARNING_MESSAGE);
     	 
     }
     catch(IOException e){}
     //catch(InterruptedException ie){}
	 }
	
	 private class Handler implements ActionListener{
     
     public void actionPerformed( ActionEvent e ){
      
      if(e.getSource() == jtext_1){
      	
      	setNick(e.getActionCommand());
      	jtext_1.setEnabled(false);
      	jcombo_cor.requestFocus(true);
      	//jtext_2.requestFocus(true);
      	setTitle("##### " + getNick() + " #####");
      }
      
      else if(e.getSource() == jcombo_cor){
      	
      	setColor(cor[jcombo_cor.getSelectedIndex()]);
      	displayColor();
      	//jtext_2.requestFocus(true);      	
      }
           
      else if(e.getSource() == jtext_2){
      	try {
         //display_1.append( "
Sending packet containing: " +
           //              e.getActionCommand() + "
" );
					
        	String s = " " + getNick() + " >> " + e.getActionCommand();
         	byte data[] = s.getBytes();                 				         
         	socket.send( new DatagramPacket( data, data.length,
            					InetAddress.getByName(getIPServidor()), 5000 ) );
         //display_1.append( "Packet sent
" );
         //display_1.setCaretPosition(display_1.getText().length() );
					jtext_2.setText("");
					//jtext_2.requestFocus(true);
      	}
      	catch ( IOException exception ) {
        	display_1.append( exception.toString() + "
" );
         	exception.printStackTrace();
      	}
     	}
     	else if(e.getSource() == jtext_3){
     		
     		setIPServidor(e.getActionCommand().trim());
     		confirmarConexao();     		
     	}
     
     }
     
	 }
		
	 private String getNick(){
	 	
	 	 return nick;
	 }	
	 
	 private void setNick(String nick){
	 	
	 	 this.nick = nick;
	 }
	 
	 private void setColor(Color color){
	 	
	 	 this.color = color;
	 }
	 
	 private void displayColor(){
	 	
	   display_1.setForeground(color);
	 }
	 
	 private void setIPServidor(String ips){
	 
	 	 this.ips = ips;
	 }
	 
	 private String getIPServidor(){
	 	
	 	 return ips;
	 }
	 
   public static void main( String args[] )
   {
      Cliente app = new Cliente();

      app.addWindowListener(
         new WindowAdapter() {
            public void windowClosing( WindowEvent e )
            {
               System.exit( 0 );
            }
         }
      );

      app.waitForPackets();
   }
}

1 Resposta

cu_ringa

digitei o comando para criar o arquivo jar errado, o certo é:

jar cfm outrojar.jar manifest.tmp rede*.*

com a barra( )

Criado 11 de fevereiro de 2004
Ultima resposta 11 de fev. de 2004
Respostas 1
Participantes 1