Re: [Isis-fish-devel] [Isis-fish-users] plantage de caparmor
Le 07/01/2010 10:32, Stephanie MAHEVAS a écrit :
INFO|09:19:50,777|CompileHelper.java|116|loadClass|Can't load class: simulators.DefaultSimulator java.lang.ClassNotFoundException: simulators.DefaultSimulator at fr.ifremer.isisfish.aspect.AspectClassLoader.findClass(AspectClassLoader.java:86)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at fr.ifremer.isisfish.util.CompileHelper.loadClass(CompileHelper.java:114) at fr.ifremer.isisfish.datastore.JavaSourceStorage.getCodeClass(JavaSourceStorage.java:139)
at fr.ifremer.isisfish.datastore.JavaSourceStorage.getNewInstance(JavaSourceStorage.java:154)
at fr.ifremer.isisfish.datastore.SimulatorStorage.getNewSimulatorInstance(SimulatorStorage.java:76)
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:370)
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:259)
ERROR|09:19:50,777|InProcessSimulatorLauncher.java|426|localSimulateSameThread|Error during simulation fr.ifremer.isisfish.IsisFishException: Can't load class: simulators.DefaultSimulator at fr.ifremer.isisfish.datastore.JavaSourceStorage.getCodeClass(JavaSourceStorage.java:142)
at fr.ifremer.isisfish.datastore.JavaSourceStorage.getNewInstance(JavaSourceStorage.java:154)
at fr.ifremer.isisfish.datastore.SimulatorStorage.getNewSimulatorInstance(SimulatorStorage.java:76)
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:370)
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:259)
INFO|09:19:51,531|InProcessSimulatorLauncher.java|456|localSimulateSameThread|Simulation time: 0.912
Cette erreur se produit lorsque le fichier DefaultSimulator.class n'est pas dans le zip (seul le DefaultSimulator.java) y est. Il ne semble pas y avoir d'erreur de compilation. Mais au moment de créer l'instance il n'y arrive pas. Le classpath est configuré sur : - le dossier de simulation - le dossier de compilation (le .class est ici dans ce cas) Pourtant, il ne semble pas le trouver. Je ne trouve pas ce que j'oublie. -- Éric <chatellier@codelutin.com> Tel: 02 40 50 29 28 http://www.codelutin.com
Le 21/01/2010 16:13, Eric Chatellier a écrit :
Le 07/01/2010 10:32, Stephanie MAHEVAS a écrit :
INFO|09:19:50,777|CompileHelper.java|116|loadClass|Can't load class: simulators.DefaultSimulator java.lang.ClassNotFoundException: simulators.DefaultSimulator at fr.ifremer.isisfish.aspect.AspectClassLoader.findClass(AspectClassLoader.java:86)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at fr.ifremer.isisfish.util.CompileHelper.loadClass(CompileHelper.java:114) at fr.ifremer.isisfish.datastore.JavaSourceStorage.getCodeClass(JavaSourceStorage.java:139)
at fr.ifremer.isisfish.datastore.JavaSourceStorage.getNewInstance(JavaSourceStorage.java:154)
at fr.ifremer.isisfish.datastore.SimulatorStorage.getNewSimulatorInstance(SimulatorStorage.java:76)
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:370)
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:259)
ERROR|09:19:50,777|InProcessSimulatorLauncher.java|426|localSimulateSameThread|Error during simulation fr.ifremer.isisfish.IsisFishException: Can't load class: simulators.DefaultSimulator at fr.ifremer.isisfish.datastore.JavaSourceStorage.getCodeClass(JavaSourceStorage.java:142)
at fr.ifremer.isisfish.datastore.JavaSourceStorage.getNewInstance(JavaSourceStorage.java:154)
at fr.ifremer.isisfish.datastore.SimulatorStorage.getNewSimulatorInstance(SimulatorStorage.java:76)
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:370)
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:259)
INFO|09:19:51,531|InProcessSimulatorLauncher.java|456|localSimulateSameThread|Simulation time: 0.912
Cette erreur se produit lorsque le fichier DefaultSimulator.class n'est pas dans le zip (seul le DefaultSimulator.java) y est.
Il ne semble pas y avoir d'erreur de compilation.
Mais au moment de créer l'instance il n'y arrive pas.
Le classpath est configuré sur : - le dossier de simulation - le dossier de compilation (le .class est ici dans ce cas)
Pourtant, il ne semble pas le trouver. Je ne trouve pas ce que j'oublie.
Ça vient peut être de ce code : if (force || FileUtil.isNewer(src, dst)) { return compile(source.getRoot(), src, destDir, out); } Ici, dst n'existe pas et donc dst.getLastModified() = 0; src.getLastModified() > 0 Donc, en gros, la source est plus récente qu'un fichier qui n'existe pas :) -- Éric <chatellier@codelutin.com> Tel: 02 40 50 29 28 http://www.codelutin.com
Le 21/01/2010 16:19, Eric Chatellier a écrit :
Ça vient peut être de ce code :
if (force || FileUtil.isNewer(src, dst)) { return compile(source.getRoot(), src, destDir, out); }
Ici, dst n'existe pas et donc dst.getLastModified() = 0; src.getLastModified() > 0
Donc, en gros, la source est plus récente qu'un fichier qui n'existe pas :)
C'est bien ca en fait. Ce n'est pas la cible qui n'existe pas, mais le fichier source java. Parce que les storages sont tous instanciés sur le "isis-database-3" et non sur le dossier de la simulation. Peut-t-ton envisager d'isoler tous les storages sur le répertoire de la simulation en cours ? (dans un contexte de simulation, le isis database, pointe sur la simulation en cours ? -- Éric <chatellier@codelutin.com> Tel: 02 40 50 29 28 http://www.codelutin.com
Le 21/01/2010 17:07, Eric Chatellier a écrit :
C'est bien ca en fait. Ce n'est pas la cible qui n'existe pas, mais le fichier source java.
Parce que les storages sont tous instanciés sur le "isis-database-3" et non sur le dossier de la simulation.
Peut-t-ton envisager d'isoler tous les storages sur le répertoire de la simulation en cours ? (dans un contexte de simulation, le isis database, pointe sur la simulation en cours ?
Fait ainsi. J'ai juste eu un petit probleme pour la région, car dans la base normale, elle est située dans le dossier "regions". Dans la simulation elle est a la base de la simulation. -- Éric <chatellier@codelutin.com> Tel: 02 40 50 29 28 http://www.codelutin.com
On Fri, 22 Jan 2010 17:00:46 +0100 Eric Chatellier <chatellier@codelutin.com> wrote: ...
J'ai juste eu un petit probleme pour la région, car dans la base normale, elle est située dans le dossier "regions".
Dans la simulation elle est a la base de la simulation.
Ca change l'arbo, mais on peut tres bien imaginer mettre la region dans regions dans la simulation pour garder la meme structure. Par contre, la migration n'est peut-etre pas super simple ? quoi que il suffit de detecter que la region n'est pas au bonne endroit dans la simulation et la deplacer la ou il faut (au demarrage de l'application lors du changement de version) -- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
participants (2)
-
Benjamin POUSSIN -
Eric Chatellier