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();
}
}