IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Plugins Java Serveur Minecraft / sérialisation


Sujet :

Java

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur maintenance industriel
    Inscrit en
    Juin 2018
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur maintenance industriel
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2018
    Messages : 185
    Points : 79
    Points
    79
    Par défaut Plugins Java Serveur Minecraft / sérialisation
    Bonjour à tous,

    alors je me lance dans l'apprentissage de Java à travers la création de plugins pour serveur minecraft Spigot.

    Jusqu’à la tous allais bien j’avançais doucement mais je trouvais toujours solution dans la documentation JAVA et dans quelque petite recherche internet.

    cependant je rencontre un problème dans la sauvegarde d'un fichier dans le qu'elle je stock une variable ArrayList (qui est bien sérialisable, oui j'ai vérifié).

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    public class Main extends JavaPlugin {
     
    	public ArrayList<Location> location = new  ArrayList<Location>() ;
     
    	@Override
     
    	public void onEnable() {
     
     
     
    		//texte de console démarrage plugins
     
    		System.out.println( "location : " + (new Location(null, 700,500,210)).toString());
     
    		try {
     
    			this.save("Test.tmp", new Location(null, 700,500,210));
     
    		} catch (FileNotFoundException e) {
     
    			System.out.println("erreur6");
     
    			e.printStackTrace();
     
    		} catch (IOException e) {
     
    			System.out.println("erreur7");
     
    			e.printStackTrace();
     
    		}
     
     
     
    		System.out.println("la méthode renvoir : " +  this.TestLocation("Test.tmp",new Location(null, 700,500,210)));
     
     
     
    }
    En gros quand démarre le serveur sa lance la methode save puis la méthode TestLocation que vous retrouver ci-après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    	public void save(String fileName,Location location) throws IOException {
     
    	    System.out.println("1");
    	    FileOutputStream fos = new FileOutputStream(fileName);
    	    ObjectOutputStream oos = new ObjectOutputStream(fos);
     
    	   this.location.clear();
     
    	    try {
    			this.location = this.load(fileName);
    		} catch (ClassNotFoundException e) {
    			System.out.println("erreur3");
    			e.printStackTrace();
    		} catch (IOException e) {
    			System.out.println("erreur4");
    			e.printStackTrace();
    		}
    	    this.location.add(location);
     
    	    oos.writeObject(this.location);
    	    oos.close();
     
    	}
     
    	public ArrayList<Location> load(String fileName) throws IOException, ClassNotFoundException {
    		System.out.println("3");
    		FileInputStream fis = new FileInputStream("t.tmp");
    		ObjectInputStream ois = new ObjectInputStream(fis);
    		location = (ArrayList<Location>)ois.readObject();
    		System.out.println("location");
    		ois.close();
    		return location;
    	}
     
     
    	public boolean TestLocation(String fileName,Location location){
    		   this.location.clear();
    		    try {
    				this.location = this.load(fileName);
    			} catch (ClassNotFoundException e) {
    				System.out.println("eereur1");
    				e.printStackTrace();
    			} catch (IOException e) {
    				System.out.println("erreur2");
    				e.printStackTrace();
    			}
    		    if(this.location.contains(location)) {
    		    	return true;
    		    }
    			return false;
    	}
    cependant dans la console j'ai que des erreurs ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
     
    [01:24:53] [Server thread/INFO]: location : Location{world=null,x=700.0,y=500.0,z=210.0,pitch=0.0,yaw=0.0}
    [01:24:53] [Server thread/INFO]: 1
    [01:24:53] [Server thread/INFO]: 3
    [01:24:53] [Server thread/INFO]: erreur4
    [01:24:53] [Server thread/WARN]: java.io.EOFException
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectInputStream.readObject0(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectInputStream.readObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectInputStream.readObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at fr.passepartout007.principal.Main.load(Main.java:103)
    [01:24:53] [Server thread/WARN]:        at fr.passepartout007.principal.Main.save(Main.java:84)
    [01:24:53] [Server thread/WARN]:        at fr.passepartout007.principal.Main.onEnable(Main.java:29)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:352)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:417)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugin(CraftServer.java:462)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugins(CraftServer.java:376)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.reload(CraftServer.java:811)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.Bukkit.reload(Bukkit.java:576)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.dispatchCommand(CraftServer.java:711)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.dispatchServerCommand(CraftServer.java:696)
    [01:24:53] [Server thread/WARN]:        at net.minecraft.server.v1_15_R1.DedicatedServer.handleCommandQueue(DedicatedServer.java:430)
    [01:24:53] [Server thread/WARN]:        at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:394)
    [01:24:53] [Server thread/WARN]:        at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:978)
    [01:24:53] [Server thread/WARN]:        at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:823)
    [01:24:53] [Server thread/WARN]:        at java.lang.Thread.run(Unknown Source)
    [01:24:53] [Server thread/INFO]: erreur7
    [01:24:53] [Server thread/WARN]: java.io.NotSerializableException: org.bukkit.Location
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectOutputStream.writeObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.util.ArrayList.writeObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [01:24:53] [Server thread/WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.lang.reflect.Method.invoke(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectOutputStream.writeObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at fr.passepartout007.principal.Main.save(Main.java:94)
    [01:24:53] [Server thread/WARN]:        at fr.passepartout007.principal.Main.onEnable(Main.java:29)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:352)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:417)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugin(CraftServer.java:462)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugins(CraftServer.java:376)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.reload(CraftServer.java:811)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.Bukkit.reload(Bukkit.java:576)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.dispatchCommand(CraftServer.java:711)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.dispatchServerCommand(CraftServer.java:696)
    [01:24:53] [Server thread/WARN]:        at net.minecraft.server.v1_15_R1.DedicatedServer.handleCommandQueue(DedicatedServer.java:430)
    [01:24:53] [Server thread/WARN]:        at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:394)
    [01:24:53] [Server thread/WARN]:        at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:978)
    [01:24:53] [Server thread/WARN]:        at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:823)
    [01:24:53] [Server thread/WARN]:        at java.lang.Thread.run(Unknown Source)
    [01:24:53] [Server thread/INFO]: 3
    [01:24:53] [Server thread/INFO]: erreur2
    [01:24:53] [Server thread/WARN]: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.bukkit.Location
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectInputStream.readObject0(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectInputStream.readObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectInputStream.readObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.util.ArrayList.readObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [01:24:53] [Server thread/WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.lang.reflect.Method.invoke(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectInputStream.readSerialData(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectInputStream.readObject0(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectInputStream.readObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectInputStream.readObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at fr.passepartout007.principal.Main.load(Main.java:103)
    [01:24:53] [Server thread/WARN]:        at fr.passepartout007.principal.Main.TestLocation(Main.java:113)
    [01:24:53] [Server thread/WARN]:        at fr.passepartout007.principal.Main.onEnable(Main.java:38)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:352)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:417)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugin(CraftServer.java:462)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugins(CraftServer.java:376)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.reload(CraftServer.java:811)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.Bukkit.reload(Bukkit.java:576)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.dispatchCommand(CraftServer.java:711)
    [01:24:53] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.dispatchServerCommand(CraftServer.java:696)
    [01:24:53] [Server thread/WARN]:        at net.minecraft.server.v1_15_R1.DedicatedServer.handleCommandQueue(DedicatedServer.java:430)
    [01:24:53] [Server thread/WARN]:        at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:394)
    [01:24:53] [Server thread/WARN]:        at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:978)
    [01:24:53] [Server thread/WARN]:        at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:823)
    [01:24:53] [Server thread/WARN]:        at java.lang.Thread.run(Unknown Source)
    [01:24:53] [Server thread/WARN]: Caused by: java.io.NotSerializableException: org.bukkit.Location
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectOutputStream.writeObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.util.ArrayList.writeObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [01:24:53] [Server thread/WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.lang.reflect.Method.invoke(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at java.io.ObjectOutputStream.writeObject(Unknown Source)
    [01:24:53] [Server thread/WARN]:        at fr.passepartout007.principal.Main.save(Main.java:94)
    [01:24:53] [Server thread/WARN]:        at fr.passepartout007.principal.Main.onEnable(Main.java:29)
    [01:24:53] [Server thread/WARN]:        ... 16 more
    Pouvez vous m'aider a comprendre ses erreur et m'aider a les corrigés ? cela fais 2 jours que je cherche sans grande reussite.

    Mon but final étant de sérialsié la variable location (qui est un ArrayList).



    Merci pas avance si il y à des réponse.

    Bien à vous,

    Passepartout007

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    d'après ton code, cette ArrayList tu y mets des objets Location.

    Maintenant que cette remarque est faite, est-ce que tu peux nous parler de cette ligne dans les logs d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [01:24:53] [Server thread/WARN]: java.io.NotSerializableException: org.bukkit.Location
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. objet plugin java
    Par james2001 dans le forum Applets
    Réponses: 1
    Dernier message: 07/11/2006, 17h30
  2. Plugin java dans firefox
    Par horkets dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 28/05/2006, 14h44
  3. Problème de lien symbolique pour le plugin java avec firefox
    Par HNT dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 18/03/2006, 19h50
  4. [plugin][java] Execution d'un plugin
    Par relivio dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 01/06/2004, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo