[LAJ1] Petit problème dans mon projet

Page 1 sur 2 1, 2  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

[LAJ1] Petit problème dans mon projet

Message  jayrko le Ven 01 Fév 2008, 21:48

Je rentre dans le vis du sujet okk, donc c'est à propos du projet 1.

Alors voilà j'ai fais mes classes : FavoritesList, Articles, ShoppingList, Purchase, Main.
Toutes mes classes sauf Main sont avec un import du Sérialize et implémentées.

Quand je compile ça passe, et dès que j'execute, voilà le message d'erreur:

shop: exception (java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: projet1.ShoppingList)
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: projet1.ShoppingList
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at projet1.Data.readShoppingList(Data.java:63)
at projet1.Shop.listAndExit(Shop.java:67)
at projet1.Shop.main(Shop.java:27)
Caused by: java.io.NotSerializableException: projet1.ShoppingList
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at projet1.Data.writeShoppingList(Data.java:118)
at projet1.Shop.addAndExit(Shop.java:64)
at projet1.Shop.main(Shop.java:24)

Je crois lire que il ne peut pas écrire à cause qu'il récupère une exeption dans le Serialize. Je ne comprends pas vraiment :s si jamais quelqu'un peut m'aider, ça serait génial Very Happy

Un grand merci à tous

jayrko

Nombre de messages : 89
Age : 29
Prénom : NiCoo
Statut : etudiant
Localisation : WAterloo
Date d'inscription : 19/01/2007

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  mcd le Sam 02 Fév 2008, 01:39

A priori tu fais bien. Bizarre !
Peux-tu poster le début d'une de tes classes pour voir ? (package + import + ligne avec le implements)

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  sphere le Sam 02 Fév 2008, 14:03

c'est bien seulement le main que tu exécute ?

sphere

Nombre de messages : 75
Age : 29
Prénom : Derek
Statut : g30592
Localisation : Bruxelles
Date d'inscription : 02/10/2007

http://www.sgcb.be

Revenir en haut Aller en bas

[LAJ1] projet1

Message  john le Sam 02 Fév 2008, 14:15

salut à tous,
j'ai un problème avec la librairie iText. J'ai téléchargé le fichier iText-2.0.8.jar, et j'ai changé ma ClASSPATH. je l'ai comme ça: (......;c:\Program Files\Java\iText.jar)

j'ai utilisé l'exemple HelloWorld, le problème de compilation:

package com.lowagie.text does not exist
import com.lowagie.text.Document;
^
ben, c'est le même problème pour chaque import.....

quelq'un sait pourquoi j'ai ce problème? et comment je peux le résoudre? Neutral

john

Nombre de messages : 64
Prénom : john
Statut : 2ème Reseaux
Date d'inscription : 25/11/2007

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  mcd le Sam 02 Fév 2008, 18:21

Si le fichier est "iText-2.0.8.jar" dans le dossier "c:\Program Files\Java", il faut que le CLASSPATH contienne
"C:\Program Files\Java\iText-2.0.8.jar" et pas "...\iText.jar" Wink

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  jayrko le Sam 02 Fév 2008, 20:42

La classe Article.java :

package projet1;
import java.io.Serializable;
public class Article implements Serializable{ ... }

La classe FavoritesList.java :

package projet1;
import java.util.HashMap;
import java.io.Serializable;
public class FavoritesList implements Serializable{ ... }

La classe Purchase.java :

package projet1;
import java.io.Serializable;
public class Purchase implements Serializable{


La classe ShoppingList.java :

package projet1;
import java.util.ArrayList;
import java.io.Serializable;
public class ShoppingList implements Serializable{


Voilà monsieur mcd, j'ai tout mis. Je ne vois vraiment pas mon érreur, car c'est pas une erreur de logique dans une de mes classes :s Car dans ma FavoritesList, je créé bien un HashMap qui fonctionne. La compile passe sans aucun problème. Vraiment bizzar tout ça scratch
Et pour information, oui j'exécute bien mon Shop.java, et dans mon main je n'ai importé que la classe Scanner pour mon test et aucun implements.
Et je fais bel et bien appel à la méthode newArticle qui utilise la classe Data pour lire, fin bref je suis Question Question

jayrko

Nombre de messages : 89
Age : 29
Prénom : NiCoo
Statut : etudiant
Localisation : WAterloo
Date d'inscription : 19/01/2007

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  mcd le Dim 03 Fév 2008, 13:01

Je ne vois pas non plus !
Il ne te reste plus qu'à tester des cas simples avec un minimum de lignes dans le main.
- Crée une classe de test avec un main qui fait juste : créer une FavoriteList vide et la sauver
- Si ca fonctionne, fais le test suivant : relire la FavoriteList
- Si ca fonctionne, refais les mêmes 2 tests avec ShoppingList.
Bonne recherche... Smile

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  Bardack le Dim 03 Fév 2008, 20:30

On peut en savoir un peu + sur la classe qui pose problème? Via la balise code Wink

Ne connaissant rien au projet, je sais pas vraiment dire quelque chose comme ça, mais à première vue ...

Ton 'ShoppingList' contient j'imagine des 'Article', ok ...mais comment est construite ta 'ShoppingList'?

Pour que la sérialisation se passe bien, il faut que ton ShoppingList soit Serializable (c'est le cas à première vue), mais également les objets dans la Liste (c'est également le cas à première vue si c'est des 'Article')...

Mais est ce que tu utilises pour stocker tes articles (List, ArrayList, ...) est également Serializable? As tu matté dans l'API?

Enfin voilà, peut être une possibilité de t'orienter un peu ...

Bardack

Nombre de messages : 2107
Age : 32
Prénom : Florent
Statut : Ancien(ne terreur)
Localisation : Frasnes-lez-Buissenal
Date d'inscription : 18/12/2006

http://www.bardack.be

Revenir en haut Aller en bas

[LAJ1] Projet1

Message  john le Dim 03 Fév 2008, 21:34

mcd a écrit:Si le fichier est "iText-2.0.8.jar" dans le dossier "c:\Program Files\Java", il faut que le CLASSPATH contienne
"C:\Program Files\Java\iText-2.0.8.jar" et pas "...\iText.jar" Wink

voilà monsieur mcd mon CLASSPATH : .....;C:\Program Files\Java\iText-2.0.8.jar mais j'ai toujour le même problème, je ne sait pas quoi faire Sad, je ne peux pas avancer à cause de ça.

john

Nombre de messages : 64
Prénom : john
Statut : 2ème Reseaux
Date d'inscription : 25/11/2007

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  mcd le Dim 03 Fév 2008, 22:10

@john : Sans être sûr, je me demande si c'est pas l'espace qui gêne. Tu peux essayer de le mettre directement dans la racine du C: pour tester ?

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  Jean le Lun 04 Fév 2008, 00:51

J aurais une petit question a vous poser,
a quoi sert la classe Data, j ai pas bien compris l utiliter de cette classe ?

Jean

Nombre de messages : 98
Date d'inscription : 17/12/2006

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  pbt le Lun 04 Fév 2008, 10:06

Jean a écrit:J aurais une petit question a vous poser,
a quoi sert la classe Data, j ai pas bien compris l utiliter de cette classe ?
C'est elle qui te pemet de lire/écrire ta ShoppingList et ta FavoritesList dans un fichier.

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  john le Lun 04 Fév 2008, 10:18

mcd a écrit:@john : Sans être sûr, je me demande si c'est pas l'espace qui gêne. Tu peux essayer de le mettre directement dans la racine du C: pour tester ?

j'ai mis directement dans la racine, et j'ai enlevé aussi l'espace, mais j'ai toujour le même problème.
Normalment j'ai fait ce qu'il y a dans le projet pour télécharger le fichier iText, mais je voudrais savoir si vous pouvez m'expliquer, chaque étape, c'est possible que j'ai fait une faute.

ben pour le moment je vais tester mes classes.

john

Nombre de messages : 64
Prénom : john
Statut : 2ème Reseaux
Date d'inscription : 25/11/2007

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  mcd le Lun 04 Fév 2008, 10:43

@John : Il n'y a rien d 'autre à faire que ce que tu as fait
1. Mettre le fichier iText-2.0.8.jar qqpart (par exemple c:\)
2. Ajouter ce fichier au CLASSPATH (ici C:\iText-2.0.8.jar)

Bien sûr, il faut que ce changemet soit fait dans la console DOS où tu compiles où encore mieux faire le changement permanent.
cf. le fil sur le PATH sous DOS

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

[LAJ1]projet1

Message  john le Lun 04 Fév 2008, 13:24

mcd a écrit:@John : Il n'y a rien d 'autre à faire que ce que tu as fait
1. Mettre le fichier iText-2.0.8.jar qqpart (par exemple c:\)
2. Ajouter ce fichier au CLASSPATH (ici C:\iText-2.0.8.jar)

Bien sûr, il faut que ce changemet soit fait dans la console DOS où tu compiles où encore mieux faire le changement permanent.
cf. le fil sur le PATH sous DOS

le changement dans la console DOS, je le fais comment monsieur? et pourqu'il soit permanent?

john

Nombre de messages : 64
Prénom : john
Statut : 2ème Reseaux
Date d'inscription : 25/11/2007

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  Wark le Lun 04 Fév 2008, 16:58

john a écrit:le changement dans la console DOS, je le fais comment monsieur? et pourqu'il soit permanent?

Il faut modifier la variable CLASSPATH dans les variables d'environement Windows (et démarrer l'émulateur DOS après avoir validé les changements sinon ils ne sont pas pris en compte).

Pour voir ce que contient la variable classpath, un simple "echo %CLASSPATH%" dans une fenêtre DOS suffit ..

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  wapiti le Sam 09 Fév 2008, 22:37

J'ai un peu le même genre de problème au moment du Data.writeShoppingList();

Code:

java.io.NotSerializableException: com.lowagie.text.Document
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at projet1.Data.writeShoppingList(Data.java:119)
at projet1.Shop.addAndExit(Shop.java:132)
at projet1.Shop.main(Shop.java:65)

wapiti

Nombre de messages : 31
Prénom : Khris'
Date d'inscription : 07/09/2007

Revenir en haut Aller en bas

[LAJ1]projet1

Message  john le Sam 09 Fév 2008, 23:25

bonjour á tous,

j'ai un petit problème avec le script shop j'ai essayé de changer comme le prof dit dans le projet mais je pense que je n'ai pas bien fait, pouvez vous m'expliquer, parce que dans l'écrit du projet je ne comprends pas, cest possible très simple, pouvez-vous m'aider? Wink

john

Nombre de messages : 64
Prénom : john
Statut : 2ème Reseaux
Date d'inscription : 25/11/2007

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  mba le Dim 10 Fév 2008, 01:16

wapiti a écrit:J'ai un peu le même genre de problème
Code:

java.io.NotSerializableException: com.lowagie.text.Document

Comme dit plus haut, ça fait penser que la classe ou un de ses composants (membre, élément d'une List,...) ne soit pas Serializable.

mba

Nombre de messages : 1493
Statut : prof
Localisation : Lessines
Date d'inscription : 07/10/2006

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  mba le Dim 10 Fév 2008, 01:22

john a écrit:bonjour á tous,

j'ai un petit problème avec le script shop j'ai essayé de changer comme le prof dit dans le projet mais je pense que je n'ai pas bien fait, pouvez vous m'expliquer, parce que dans l'écrit du projet je ne comprends pas, cest possible très simple, pouvez-vous m'aider? Wink

Un script est un fichier de commandes.
Il est repris dans l'énoncé.
Il s'agit d'un fichier "à exécuter", il faut donc lui ajouter ce droit.

-> vademecum de laboratoires java

mba

Nombre de messages : 1493
Statut : prof
Localisation : Lessines
Date d'inscription : 07/10/2006

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  wapiti le Dim 10 Fév 2008, 13:00

mba a écrit:Comme dit plus haut, ça fait penser que la classe ou un de ses composants (membre, élément d'une List,...) ne soit pas Serializable.
Cette erreur ne se produit pas après avoir flush le fichier .shop_shoppinglist.dat. $ Shop se passe très bien. Lorsque que je $ Shop add poisson, ce même fichier contient alors une exception java plus ou moins lisible.

Code:
¬í^@^Esr^@^[g30634.projet1.ShoppingListõ'­4]ÍÁÜ^B^@^CL^@^Hdocumentt^@^[Lcom/lowagie/text/Document;L^@^L ...

wapiti

Nombre de messages : 31
Prénom : Khris'
Date d'inscription : 07/09/2007

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  pbt le Dim 10 Fév 2008, 16:53

Plutot moins lisible que plus ... je vois quand même com.lowagie... et ça me parrait bizarre dans une action add, je verrai plustôt ça lors de la génération du pdf ...

Bref, je n'ai pas assez d'infos pour t'aider.

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  mcd le Dim 10 Fév 2008, 17:01

Je n'ai pas bien compris ton problème mais voici une petite explication qui pourra être utile à certains.
Si on sauve un objet dans un fichier (par exemple un ShoppingList) et puis qu'on modifie le code correspondant (ici ShoppingList.java) il est tout-à-fait possible que la lecture du fichier se plante parce qu'il se rend compte que la classe a changé et qu'il ne peut dès lors plus relire correctement l'objet. Mais en général dans ce cas le message parle clairement de problème de numéro de version.

Symptôme : une exception à la lecture du fichier alors que quelques temps plus tôt, une écriture avait fonctionné (et on a touché au code depuis).
Remède : détruire les 2 fichiers .shop...

Pour plusd'info, vous pouvez consulter : http://www.jmdoudoux.fr/java/dej/chap020.htm (notamment la partie 20.1.3)

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  mba le Dim 10 Fév 2008, 19:10

wapiti a écrit: $ Shop se passe très bien. Lorsque que je $ Shop add poisson, ce même fichier contient alors une exception java plus ou moins lisible.

Code:
¬í^@^Esr^@^[g30634.projet1.ShoppingListõ'­4]ÍÁÜ^B^@^CL^@^Hdocumentt^@^[Lcom/lowagie/text/Document;L^@^L ...

Ton message n'est pas vraiment compréhensible ...
C'est donc quand tu ajoutes un élément à ta liste que ça pose problème.
Un élément Purchase qui est lui même sérializable c'est bien ça ?

Refais la manip après avoir effacé les deux fichiers cachés comme dit mcd (voir classe data pour les noms).

mba

Nombre de messages : 1493
Statut : prof
Localisation : Lessines
Date d'inscription : 07/10/2006

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  wapiti le Dim 10 Fév 2008, 20:58

mba a écrit:C'est donc quand tu ajoutes un élément à ta liste que ça pose problème.
Un élément Purchase qui est lui même sérializable c'est bien ça ?

Refais la manip après avoir effacé les deux fichiers cachés comme dit mcd (voir classe data pour les noms).

Même ayant effacer ces deux fichiers, quand j'ajoute un Purchase à la liste, tout vas bien, le problème se pose lorsque je writeShoppingList().

wapiti

Nombre de messages : 31
Prénom : Khris'
Date d'inscription : 07/09/2007

Revenir en haut Aller en bas

Re: [LAJ1] Petit problème dans mon projet

Message  Contenu sponsorisé Aujourd'hui à 08:45


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum