Accueil > Forum > > > > Impossible de démarrer une application
Impossible de démarrer une application
mardi 26 juin 2007 à 00:03:15 |
Impossible de démarrer une application

Gwinyam
|
Bonjour, J'ai récupéré une application de travail sur le network avec les sockets. Le souci, c'est que quand je la lance en ligne de commande, il me retourne une seule et unique chose: Exception in thread "main" java.lang.NoClassDefFoundError
Alors que sous NetBeans, ça marche niquel...je comprends pas ce qui se passe, vous avez une idée de la source du problème? Je vous mets mes codes: TestNetWork.java (la principale) package distribuee;
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*;
public class TestNetwork extends JFrame implements ActionListener, NetListener { private Network network; private JTextArea ta; private JTextField tf;
public TestNetwork() { super("Server"); System.out.println("Le serveur est en attente d'un client..."); network = new Network(45690); init(); System.out.println("Server pret"); }
public TestNetwork(String address) { super("Client"); network = new Network(address, 45690); init(); }
public static void main(String args[]) { try { if (args.length == 0) new TestNetwork(); // serveur else new TestNetwork(args[0]); // client } catch (Exception e) { System.out.println("rate"); } }
public void actionPerformed(ActionEvent e) { if (e.getSource().equals(tf)) { network.send(tf.getText()); tf.selectAll(); } }
public void messageArrived(Object inputMes) { if (inputMes == null) { network.close(); System.exit(0); } ta.append((String)inputMes + "\n"); }
private void init() { network.addNetListener(this); JPanel p = new JPanel(); p.setLayout(new BorderLayout()); ta = new JTextArea(); ta.setEditable(false); ta.setForeground(Color.BLUE); ta.setMargin(new Insets(5, 5, 5, 5)); JScrollPane scrollPane = new JScrollPane(ta); p.add(scrollPane, BorderLayout.CENTER); tf = new JTextField(); tf.addActionListener(this); p.add(tf, BorderLayout.SOUTH); getContentPane().add(p); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { network.close(); System.exit(0); } }); setSize(350, 350); setLocationRelativeTo(null); show(); tf.requestFocus(); } }
Network.java: package distribuee;
import java.io.*; import java.net.*; import java.util.*;
public class Network implements Runnable { private Socket s; private ObjectInputStream in; private ObjectOutputStream out; private Vector listeners;
// Serveur public Network(int port) { try { ServerSocket ss = new ServerSocket(port); s = ss.accept(); } catch (Exception e) { System.out.println(e); } init(); }
// Client, l'adresse est celle du serveur public Network(String address, int port) { try { s = new Socket(address, port); } catch (Exception e) { System.out.println(e); } init(); }
// Ajoute un nouveau listener which will be notified each time that a new Object is available public void addNetListener(NetListener listener) { listeners.add(listener); }
// Supprime un listener public void removeNetListener(NetListener listener) { listeners.remove(listener); }
// Sends the specified object to the network partner. public void send(Object message) { try { out.writeObject(message); out.flush(); } catch (IOException e) { System.out.println(e); } }
// Ferme la connexion public void close() { try { s.close(); } catch (IOException e) { System.out.println(e); } }
public void run() { try { while(true) fireMessage(in.readObject()); } catch (Exception e) { fireMessage(null); } }
private void init() { try { out = new ObjectOutputStream(s.getOutputStream()); in = new ObjectInputStream(s.getInputStream()); listeners = new Vector(); Thread runner = new Thread(this); runner.start(); } catch (Exception e) { System.out.println(e); } }
private void fireMessage(Object message) { for (int i = 0; i < listeners.size(); i++) { ((NetListener)listeners.elementAt(i)).messageArrived(message); } } }NetListerner.java: package distribuee;
public interface NetListener { public void messageArrived(Object inputMes); }
Au passage, par quoi dois-je remplacer show pour qu'il ne m'indique plus que je dois absolument éviter cette fonction? Merci d'avance à tous 
|
|
mardi 26 juin 2007 à 10:03:09 |
Re : Impossible de démarrer une application

laurent1024
|
Regarde dans netbeans la commande qui est utilisé pour lancer ton prog. il doit y avoir des classpath ou autre à definir. Pour le show regarde dans la javadoc, il va te dire pourquoi show est deprécié et ce qu'il faut utiliser a la place ++
|
|
mardi 26 juin 2007 à 15:01:08 |
Re : Impossible de démarrer une application

Gwinyam
|
Ok merci  Je teste ça ce soir et je te dis ça 
|
|
mardi 26 juin 2007 à 21:38:06 |
Re : Impossible de démarrer une application

Gwinyam
|
Réponse acceptée !
Solution: Un fichier serveur.bat: [CODE]set CLASSPATH=.;./class;distribuee.jar;./class/TestNetwork.class;./class/Network.class;./class/Test NetListener.class java distribuee.TestNetwork[/CODE] Et un fichier client.bat: [CODE]set CLASSPATH=.;./class;distribuee.jar;./class/TestNetwork.class;./class/Network.class;./class/TestNetListener.class java distribuee.TestNetwork 127.0.0.1[/CODE] Et là ça roule  EDIT: dans le cas où le fichier distribuee.jar est dans le dossier parent du dossier "class" qui contient les fichiers: - Network.class - TestNetwork.class - TestNetListener
|
|
Cette discussion est classée dans : public, network, private, out, void
Répondre à ce message
Sujets en rapport avec ce message
Barre progression via thread [ par fred889944 ]
Bonjour, j'aimerais afficher une barre de progression pendant l'execution d'une fonction nommée TOTO (son temps d'execution est relativement long)...
dessin graphique 2d [ par huongthuy ]
Bonjour tout le monde! je suis étudiant.j'ai un projet.Le projet demande les fonctions:la fonction linéaire y = ab, la fonction affine y = ax+b, <td c
Ajouter un JScrollPane a un JPanel [ par simsima1448 ]
: Salut a tousJe dois ajouter un JScrollPane a un JPanel qui contient un tableau de JTextField mais je ne sais pas comment ajouter le JScrollPane si v
Ajouter un ecouteur de saisie à un JTextField [ par simsima1448 ]
Salut, je dois ajouter un écoteur de saisie sur JTextField pour qu'une fois on commence l'écriture dans cette zone texte un autre JTextField apparait
Erreurs de compilation sous Windows [ par legolas45 ]
Mon probleme est la suivant. Quand je compile mon programme sous Linux tout se passe bien aucun probleme mais quand je compile sous windows il me met
Aidez-moi, svp! [ par fabouchra ]
j'ai un erreur dans mon code mais je sais pas comment le resoudre si quelque peu m'aide ...je serais tres heureuse.mercijavascript:Insert_Emoticon('/i
projet d'informatique / simulation d'emprunt [ par paolitta ]
bonsoir je suis en licence d'économie et je me débrouille trés mal avec java, j'aurais une question à vs poser:on me demande de gérer l'évenement "fer
connexion multi thread client/serveur [ par marwanos001 ]
salut a tous le monde!!j'ai un projet se base sur la connexion multi threads entre client et serveur,j'ai fait le code de cette connexion avec les soc
ActionListener [ par amededaille ]
Bonjour, Je dois créer dans le cadre de mes études une palette graphique. Le langage utilisé est JAVA. Je dois, lorsque je clique sur un bouton - qui
connaitre le nombre de vehicules loués [ par limsa09 ]
slt tt le monde je sui debutant en poo et j doit cree un ptit logicile pour la gestion d'un agence de location de voiture ,je ne sui q'au debut du pr
Livres en rapport
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
PACKAGE ORACLEPACKAGE ORACLE par gaouinformaticien
Cliquez pour lire la suite par gaouinformaticien
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|