jMP error opening scene with custom Node

i get the following error when i try to load a scene with the SceneComposer:



java.lang.ClassNotFoundException: mygame.gamebasic.World

at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:303)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:262)

Caused: java.lang.ClassNotFoundException: mygame.gamebasic.World starting from ModuleCL@68cd79[com.jme3.gde.core.baselibs] with possible defining loaders null and declared parents [ModuleCL@1117a20[com.jme3.gde.core.libraries]]

at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:264)

at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:169)

at com.jme3.export.binary.BinaryClassLoader.fromName(BinaryClassLoader.java:67)

[catch] at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:287)

at com.jme3.export.binary.BinaryImporter.load(BinaryImporter.java:200)

at com.jme3.export.binary.BinaryImporter.load(BinaryImporter.java:122)

at com.jme3.export.binary.BinaryImporter.load(BinaryImporter.java:112)

at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:240)

at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:373)

at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:383)

at com.jme3.gde.core.assets.SpatialAssetDataObject.loadAsset(SpatialAssetDataObject.java:81)

at com.jme3.gde.core.assets.actions.OpenModel$1.run(OpenModel.java:72)

at java.lang.Thread.run(Thread.java:619)

com.jme3.asset.AssetLoadException: Error occured while loading asset “Scenes/Maps/mapa1.j3o” usingBinaryImporter

at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:245)

at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:373)

at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:383)

[catch] at com.jme3.gde.core.assets.SpatialAssetDataObject.loadAsset(SpatialAssetDataObject.java:81)

at com.jme3.gde.core.assets.actions.OpenModel$1.run(OpenModel.java:72)

at java.lang.Thread.run(Thread.java:619)



this is the node i am trying to load:

pre type="java"
package mygame.gamebasic;





public class World extends Node implements Savable{





 public World(){


}





}
/pre





the funny thing is that if i load it using the BinaryImporter inside my App it loads normally

Yes of course, without the libraries for your special classes they cannot be opened. You have to create a plugin with a version of your libraries packed as “wrapped jar library” and make those classes public. You can then also add wrapper classes for them so they are editable with their special properties in the SceneExplorer. Check the sdk:development part of the wiki.