|
View:
New views
6 Messages
—
Rating Filter:
Alert me
|
|
|
Creating related projects in repast with model initialisersHi List,
I'm working on a modelling framework based on RepastS, and I'd like to create projects which use this, but define their own models. The framework specifies a ModelInitializer in scenario.xml, and I would like for the related projects to be able to re-use this ModelInitialiser, but I cannot get the classpaths set up correctly. I have added my framework to the standard java classpath, and can write code which uses it, and it compiles correctly. However, when the model runs, it cannot find the model initialiser. When editing the Run Configuration: * leaving the classpath as it is results in not being able to find my framework's ModelInitializer[1] * if I add my framework to the Bootstrap Classpath (as a project), then it can't find the Repast ModelInitializer (which mine implements) [2] * the same happens if I add it as a project to the User Entries section [3] I tried copying across the model initialiser, but then I also have to copy across all the supporting classes etc, and it's going to be a maintenance nightmare. Any thoughts? Cheers, dave [1] 2009/10/28 14:35:56,015: Scenario Load Error java.lang.ClassNotFoundException: ecochangeabm.initialisation.EcochangeABMInitializer at org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:242) at repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java:66) at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: 197) at repast.simphony.ui.RSApplication.open(RSApplication.java:247) at repast .simphony.ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java:40) at saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: 188) at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) at saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: 64) at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun .reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) at sun .reflect .DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) at java.lang.reflect.Method.invoke(Method.java:592) at saf.core.runtime.Boot.run(Boot.java:125) at saf.core.runtime.Boot.main(Boot.java:280) at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) [2] 2009/10/28 14:38:09,290: Fatal error starting Repast java.lang.NoClassDefFoundError: repast/simphony/scenario/ ModelInitializer at java.lang.ClassLoader.findBootstrapClass(Native Method) at java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:946) at java.lang.ClassLoader.loadClass(ClassLoader.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:242) at repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java:66) at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: 197) at repast.simphony.ui.RSApplication.open(RSApplication.java:247) at repast .simphony.ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java:40) at saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: 188) at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) at saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: 64) at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun .reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) at sun .reflect .DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) at java.lang.reflect.Method.invoke(Method.java:592) at saf.core.runtime.Boot.run(Boot.java:125) at saf.core.runtime.Boot.main(Boot.java:280) at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) [3] 2009/10/28 14:40:00,894: Fatal error starting Repast java.lang.NoClassDefFoundError: repast/simphony/scenario/ ModelInitializer at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:675) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:316) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:242) at repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java:66) at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: 197) at repast.simphony.ui.RSApplication.open(RSApplication.java:247) at repast .simphony.ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java:40) at saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: 188) at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) at saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: 64) at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun .reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) at sun .reflect .DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) at java.lang.reflect.Method.invoke(Method.java:592) at saf.core.runtime.Boot.run(Boot.java:125) at saf.core.runtime.Boot.main(Boot.java:280) at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Repast-interest mailing list Repast-interest@... https://lists.sourceforge.net/lists/listinfo/repast-interest |
|
|
Two follow up issues1) When setting up the Data Loader, it's only possible to select
classes in the current project (i've tried adding it explicitly to model.score etc). However, if I edit the XML, it works fine with a class from a related project. Is this just a limitation of the interface? 2) Libraries from related projects do not appear to be on the runtime build path, and need to be added manually. Is there something I should be doing to make this happen automatically? Thanks, dave On 28 Oct 2009, at 14:42, Dave Murray-Rust wrote: > Hi List, > > I'm working on a modelling framework based on RepastS, and I'd like to > create projects which use this, but define their own models. The > framework specifies a ModelInitializer in scenario.xml, and I would > like for the related projects to be able to re-use this > ModelInitialiser, but I cannot get the classpaths set up correctly. > > I have added my framework to the standard java classpath, and can > write code which uses it, and it compiles correctly. However, when the > model runs, it cannot find the model initialiser. > > When editing the Run Configuration: > > * leaving the classpath as it is results in not being able to find my > framework's ModelInitializer[1] > * if I add my framework to the Bootstrap Classpath (as a project), > then it can't find the Repast ModelInitializer (which mine implements) > [2] > * the same happens if I add it as a project to the User Entries > section [3] > > I tried copying across the model initialiser, but then I also have to > copy across all the supporting classes etc, and it's going to be a > maintenance nightmare. > > Any thoughts? > > Cheers, > dave > > > [1] > 2009/10/28 14:35:56,015: Scenario Load Error > java.lang.ClassNotFoundException: > ecochangeabm.initialisation.EcochangeABMInitializer > at > org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown > Source) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:242) > at > repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java: > 66) > at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: > 197) > at repast.simphony.ui.RSApplication.open(RSApplication.java:247) > at > repast > .simphony.ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java: > 40) > at saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: > 188) > at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) > at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) > at > saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: > 64) > at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun > .reflect > .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 39) > at > sun > .reflect > .DelegatingMethodAccessorImpl > .invoke(DelegatingMethodAccessorImpl.java: > 25) > at java.lang.reflect.Method.invoke(Method.java:592) > at saf.core.runtime.Boot.run(Boot.java:125) > at saf.core.runtime.Boot.main(Boot.java:280) > at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) > > [2] > 2009/10/28 14:38:09,290: Fatal error starting Repast > java.lang.NoClassDefFoundError: repast/simphony/scenario/ > ModelInitializer > at java.lang.ClassLoader.findBootstrapClass(Native Method) > at java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:946) > at java.lang.ClassLoader.loadClass(ClassLoader.java:308) > at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at > org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown > Source) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:242) > at > repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java: > 66) > at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: > 197) > at repast.simphony.ui.RSApplication.open(RSApplication.java:247) > at > repast > .simphony.ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java: > 40) > at saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: > 188) > at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) > at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) > at > saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: > 64) > at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun > .reflect > .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 39) > at > sun > .reflect > .DelegatingMethodAccessorImpl > .invoke(DelegatingMethodAccessorImpl.java: > 25) > at java.lang.reflect.Method.invoke(Method.java:592) > at saf.core.runtime.Boot.run(Boot.java:125) > at saf.core.runtime.Boot.main(Boot.java:280) > at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) > > [3] > 2009/10/28 14:40:00,894: Fatal error starting Repast > java.lang.NoClassDefFoundError: repast/simphony/scenario/ > ModelInitializer > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:675) > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java: > 124) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) > at java.net.URLClassLoader.access$100(URLClassLoader.java:56) > at java.net.URLClassLoader$1.run(URLClassLoader.java:195) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:188) > at java.lang.ClassLoader.loadClass(ClassLoader.java:316) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at > org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown > Source) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:242) > at > repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java: > 66) > at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: > 197) > at repast.simphony.ui.RSApplication.open(RSApplication.java:247) > at > repast > .simphony.ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java: > 40) > at saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: > 188) > at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) > at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) > at > saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: > 64) > at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun > .reflect > .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 39) > at > sun > .reflect > .DelegatingMethodAccessorImpl > .invoke(DelegatingMethodAccessorImpl.java: > 25) > at java.lang.reflect.Method.invoke(Method.java:592) > at saf.core.runtime.Boot.run(Boot.java:125) > at saf.core.runtime.Boot.main(Boot.java:280) > at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) > > > -- > The University of Edinburgh is a charitable body, registered in > Scotland, with registration number SC005336. > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > Repast-interest mailing list > Repast-interest@... > https://lists.sourceforge.net/lists/listinfo/repast-interest > -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Repast-interest mailing list Repast-interest@... https://lists.sourceforge.net/lists/listinfo/repast-interest |
|
|
Re: Creating related projects in repast with model initialisersDave,
Simphony uses a lot of dynamic class loading and that can make things like this complicated. For models, external code that you want to load is specified in the score file. The implementation element has an optional "binDir" attribute and you should be able to specify your jar in the implementation element for the root context. More than one path, jar file can be specified in the birDir by separating them with a ",". Note that the binDir is relative to the implementation basePath attribute. If you can leverage this so that the location of your framework is included in the "binDir" then that should work. Note that this will change. The current development code uses a different simpler and more flexible mechanism and that will become the standard ways in the future. Converting from the old to the new should be relatively trivial though so I wouldn't let it stop you from exploring this solution. The other alternative is to make your framework a "plugin". All the repast code except for the runtime stuff that needs to be on the root classpath is loaded as plugins. If you configure your framework as a plugin then it should get loaded just as the repast code gets loaded. Plugins are defined via a plugin_jpf.xml file that specifies where the code for the plugin should be found. If you look through the source you'll see lots of examples. The plugin_jpf.xml has essentially two sections -- one that specifies what this plugin requires -- for that you'd fill in the plugins your framework depends on, and then a runtime section that specifies the code that your plugin provides, this includes non-repast 3rd party libraries that your code requires. See the source for examples. The one in repast.simphony.core is probably a good model for you. The last step is to make sure the plugin mechanism can find your plugin, the boot.properties file in repast.simphony.runtime specifies contains a pluginFolders property that specifies where to find plugins. Nick On Oct 28, 2009, at 10:42 AM, Dave Murray-Rust wrote: > Hi List, > > I'm working on a modelling framework based on RepastS, and I'd like to > create projects which use this, but define their own models. The > framework specifies a ModelInitializer in scenario.xml, and I would > like for the related projects to be able to re-use this > ModelInitialiser, but I cannot get the classpaths set up correctly. > > I have added my framework to the standard java classpath, and can > write code which uses it, and it compiles correctly. However, when the > model runs, it cannot find the model initialiser. > > When editing the Run Configuration: > > * leaving the classpath as it is results in not being able to find my > framework's ModelInitializer[1] > * if I add my framework to the Bootstrap Classpath (as a project), > then it can't find the Repast ModelInitializer (which mine implements) > [2] > * the same happens if I add it as a project to the User Entries > section [3] > > I tried copying across the model initialiser, but then I also have to > copy across all the supporting classes etc, and it's going to be a > maintenance nightmare. > > Any thoughts? > > Cheers, > dave > > > [1] > 2009/10/28 14:35:56,015: Scenario Load Error > java.lang.ClassNotFoundException: > ecochangeabm.initialisation.EcochangeABMInitializer > at > org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown > Source) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:242) > at > repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java: > 66) > at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: > 197) > at repast.simphony.ui.RSApplication.open(RSApplication.java:247) > at > repast > .simphony.ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java: > 40) > at saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: > 188) > at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) > at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) > at > saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: > 64) > at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun > .reflect > .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 39) > at > sun > .reflect > .DelegatingMethodAccessorImpl > .invoke(DelegatingMethodAccessorImpl.java: > 25) > at java.lang.reflect.Method.invoke(Method.java:592) > at saf.core.runtime.Boot.run(Boot.java:125) > at saf.core.runtime.Boot.main(Boot.java:280) > at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) > > [2] > 2009/10/28 14:38:09,290: Fatal error starting Repast > java.lang.NoClassDefFoundError: repast/simphony/scenario/ > ModelInitializer > at java.lang.ClassLoader.findBootstrapClass(Native Method) > at java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:946) > at java.lang.ClassLoader.loadClass(ClassLoader.java:308) > at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at > org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown > Source) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:242) > at > repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java: > 66) > at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: > 197) > at repast.simphony.ui.RSApplication.open(RSApplication.java:247) > at > repast > .simphony.ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java: > 40) > at saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: > 188) > at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) > at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) > at > saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: > 64) > at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun > .reflect > .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 39) > at > sun > .reflect > .DelegatingMethodAccessorImpl > .invoke(DelegatingMethodAccessorImpl.java: > 25) > at java.lang.reflect.Method.invoke(Method.java:592) > at saf.core.runtime.Boot.run(Boot.java:125) > at saf.core.runtime.Boot.main(Boot.java:280) > at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) > > [3] > 2009/10/28 14:40:00,894: Fatal error starting Repast > java.lang.NoClassDefFoundError: repast/simphony/scenario/ > ModelInitializer > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:675) > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java: > 124) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) > at java.net.URLClassLoader.access$100(URLClassLoader.java:56) > at java.net.URLClassLoader$1.run(URLClassLoader.java:195) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:188) > at java.lang.ClassLoader.loadClass(ClassLoader.java:316) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at > org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown > Source) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:242) > at > repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java: > 66) > at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: > 197) > at repast.simphony.ui.RSApplication.open(RSApplication.java:247) > at > repast > .simphony.ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java: > 40) > at saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: > 188) > at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) > at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) > at > saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: > 64) > at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun > .reflect > .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 39) > at > sun > .reflect > .DelegatingMethodAccessorImpl > .invoke(DelegatingMethodAccessorImpl.java: > 25) > at java.lang.reflect.Method.invoke(Method.java:592) > at saf.core.runtime.Boot.run(Boot.java:125) > at saf.core.runtime.Boot.main(Boot.java:280) > at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) > > > -- > The University of Edinburgh is a charitable body, registered in > Scotland, with registration number SC005336. > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > Repast-interest mailing list > Repast-interest@... > https://lists.sourceforge.net/lists/listinfo/repast-interest ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Repast-interest mailing list Repast-interest@... https://lists.sourceforge.net/lists/listinfo/repast-interest |
|
|
Re: Two follow up issuesDave,
See below. On Oct 28, 2009, at 10:58 AM, Dave Murray-Rust wrote: > 1) When setting up the Data Loader, it's only possible to select > classes in the current project (i've tried adding it explicitly to > model.score etc). However, if I edit the XML, it works fine with a > class from a related project. Is this just a limitation of the > interface? > Yes. The interface grabs a data loader relevant classes from the paths specified in the model.score. If the classes isn't on any of those paths then it won't show up in the interface. > 2) Libraries from related projects do not appear to be on the runtime > build path, and need to be added manually. Is there something I should > be doing to make this happen automatically? Not sure what you mean here. Do you mean the classpath used when you run the model, or the build path used when compiling? If the former, you can specific 3rd party libs in the model.score (described in a previous message). If the latter, you can use eclipse to specify project dependencies when configuring the build path. > > Thanks, > dave > > On 28 Oct 2009, at 14:42, Dave Murray-Rust wrote: > >> Hi List, >> >> I'm working on a modelling framework based on RepastS, and I'd like >> to >> create projects which use this, but define their own models. The >> framework specifies a ModelInitializer in scenario.xml, and I would >> like for the related projects to be able to re-use this >> ModelInitialiser, but I cannot get the classpaths set up correctly. >> >> I have added my framework to the standard java classpath, and can >> write code which uses it, and it compiles correctly. However, when >> the >> model runs, it cannot find the model initialiser. >> >> When editing the Run Configuration: >> >> * leaving the classpath as it is results in not being able to find my >> framework's ModelInitializer[1] >> * if I add my framework to the Bootstrap Classpath (as a project), >> then it can't find the Repast ModelInitializer (which mine >> implements) >> [2] >> * the same happens if I add it as a project to the User Entries >> section [3] >> >> I tried copying across the model initialiser, but then I also have to >> copy across all the supporting classes etc, and it's going to be a >> maintenance nightmare. >> >> Any thoughts? >> >> Cheers, >> dave >> >> >> [1] >> 2009/10/28 14:35:56,015: Scenario Load Error >> java.lang.ClassNotFoundException: >> ecochangeabm.initialisation.EcochangeABMInitializer >> at >> org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown >> Source) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:242) >> at >> repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java: >> 66) >> at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: >> 197) >> at repast.simphony.ui.RSApplication.open(RSApplication.java:247) >> at >> repast >> .simphony.ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java: >> 40) >> at >> saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: >> 188) >> at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) >> at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) >> at >> saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: >> 64) >> at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun >> .reflect >> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: >> 39) >> at >> sun >> .reflect >> .DelegatingMethodAccessorImpl >> .invoke(DelegatingMethodAccessorImpl.java: >> 25) >> at java.lang.reflect.Method.invoke(Method.java:592) >> at saf.core.runtime.Boot.run(Boot.java:125) >> at saf.core.runtime.Boot.main(Boot.java:280) >> at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) >> >> [2] >> 2009/10/28 14:38:09,290: Fatal error starting Repast >> java.lang.NoClassDefFoundError: repast/simphony/scenario/ >> ModelInitializer >> at java.lang.ClassLoader.findBootstrapClass(Native Method) >> at java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:946) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:308) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:306) >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at >> org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown >> Source) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:242) >> at >> repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java: >> 66) >> at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: >> 197) >> at repast.simphony.ui.RSApplication.open(RSApplication.java:247) >> at >> repast >> .simphony.ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java: >> 40) >> at >> saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: >> 188) >> at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) >> at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) >> at >> saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: >> 64) >> at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun >> .reflect >> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: >> 39) >> at >> sun >> .reflect >> .DelegatingMethodAccessorImpl >> .invoke(DelegatingMethodAccessorImpl.java: >> 25) >> at java.lang.reflect.Method.invoke(Method.java:592) >> at saf.core.runtime.Boot.run(Boot.java:125) >> at saf.core.runtime.Boot.main(Boot.java:280) >> at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) >> >> [3] >> 2009/10/28 14:40:00,894: Fatal error starting Repast >> java.lang.NoClassDefFoundError: repast/simphony/scenario/ >> ModelInitializer >> at java.lang.ClassLoader.defineClass1(Native Method) >> at java.lang.ClassLoader.defineClass(ClassLoader.java:675) >> at >> java.security.SecureClassLoader.defineClass(SecureClassLoader.java: >> 124) >> at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) >> at java.net.URLClassLoader.access$100(URLClassLoader.java:56) >> at java.net.URLClassLoader$1.run(URLClassLoader.java:195) >> at java.security.AccessController.doPrivileged(Native Method) >> at java.net.URLClassLoader.findClass(URLClassLoader.java:188) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:316) >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at >> org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown >> Source) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:242) >> at >> repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java: >> 66) >> at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: >> 197) >> at repast.simphony.ui.RSApplication.open(RSApplication.java:247) >> at >> repast >> .simphony.ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java: >> 40) >> at >> saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: >> 188) >> at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) >> at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) >> at >> saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: >> 64) >> at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun >> .reflect >> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: >> 39) >> at >> sun >> .reflect >> .DelegatingMethodAccessorImpl >> .invoke(DelegatingMethodAccessorImpl.java: >> 25) >> at java.lang.reflect.Method.invoke(Method.java:592) >> at saf.core.runtime.Boot.run(Boot.java:125) >> at saf.core.runtime.Boot.main(Boot.java:280) >> at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) >> >> >> -- >> The University of Edinburgh is a charitable body, registered in >> Scotland, with registration number SC005336. >> >> >> ------------------------------------------------------------------------------ >> Come build with us! The BlackBerry(R) Developer Conference in SF, CA >> is the only developer event you need to attend this year. Jumpstart >> your >> developing skills, take BlackBerry mobile applications to market and >> stay >> ahead of the curve. Join us from November 9 - 12, 2009. Register now! >> http://p.sf.net/sfu/devconference >> _______________________________________________ >> Repast-interest mailing list >> Repast-interest@... >> https://lists.sourceforge.net/lists/listinfo/repast-interest >> > > > -- > The University of Edinburgh is a charitable body, registered in > Scotland, with registration number SC005336. > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > Repast-interest mailing list > Repast-interest@... > https://lists.sourceforge.net/lists/listinfo/repast-interest ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Repast-interest mailing list Repast-interest@... https://lists.sourceforge.net/lists/listinfo/repast-interest |
|
|
Re: Creating related projects in repast with model initialisersGreat, thanks for that.
In the end, I got the binDir stuff working. Unfortunately, it's not a process that I could ask other people to go through - I'm trying to keep the creation of new projects as simple as possible. Instead, I've refactored my code so it doesn't require any messing around with the model initialiser. It's a bit uglier, but much easier to set up. I'll have a look into the plugin mechanism when I have time, though as that sounds more like the Right Way to do what I want. Thanks! dave On 28 Oct 2009, at 15:45, Nick Collier wrote: > Dave, > > Simphony uses a lot of dynamic class loading and that can make > things like this complicated. > > For models, external code that you want to load is specified in the > score file. The implementation element has an optional "binDir" > attribute and you should be able to specify your jar in the > implementation element for the root context. More than one path, jar > file can be specified in the birDir by separating them with a ",". > Note that the binDir is relative to the implementation basePath > attribute. If you can leverage this so that the location of your > framework is included in the "binDir" then that should work. Note > that this will change. The current development code uses a different > simpler and more flexible mechanism and that will become the > standard ways in the future. Converting from the old to the new > should be relatively trivial though so I wouldn't let it stop you > from exploring this solution. > > The other alternative is to make your framework a "plugin". All the > repast code except for the runtime stuff that needs to be on the > root classpath is loaded as plugins. If you configure your framework > as a plugin then it should get loaded just as the repast code gets > loaded. Plugins are defined via a plugin_jpf.xml file that specifies > where the code for the plugin should be found. If you look through > the source you'll see lots of examples. The plugin_jpf.xml has > essentially two sections -- one that specifies what this plugin > requires -- for that you'd fill in the plugins your framework > depends on, and then a runtime section that specifies the code that > your plugin provides, this includes non-repast 3rd party libraries > that your code requires. See the source for examples. The one in > repast.simphony.core is probably a good model for you. The last step > is to make sure the plugin mechanism can find your plugin, the > boot.properties file in repast.simphony.runtime specifies contains a > pluginFolders property that specifies where to find plugins. > > Nick > > > On Oct 28, 2009, at 10:42 AM, Dave Murray-Rust wrote: > >> Hi List, >> >> I'm working on a modelling framework based on RepastS, and I'd like >> to >> create projects which use this, but define their own models. The >> framework specifies a ModelInitializer in scenario.xml, and I would >> like for the related projects to be able to re-use this >> ModelInitialiser, but I cannot get the classpaths set up correctly. >> >> I have added my framework to the standard java classpath, and can >> write code which uses it, and it compiles correctly. However, when >> the >> model runs, it cannot find the model initialiser. >> >> When editing the Run Configuration: >> >> * leaving the classpath as it is results in not being able to find my >> framework's ModelInitializer[1] >> * if I add my framework to the Bootstrap Classpath (as a project), >> then it can't find the Repast ModelInitializer (which mine >> implements) >> [2] >> * the same happens if I add it as a project to the User Entries >> section [3] >> >> I tried copying across the model initialiser, but then I also have to >> copy across all the supporting classes etc, and it's going to be a >> maintenance nightmare. >> >> Any thoughts? >> >> Cheers, >> dave >> >> >> [1] >> 2009/10/28 14:35:56,015: Scenario Load Error >> java.lang.ClassNotFoundException: >> ecochangeabm.initialisation.EcochangeABMInitializer >> at >> org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown >> Source) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:242) >> at >> repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java: >> 66) >> at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: >> 197) >> at repast.simphony.ui.RSApplication.open(RSApplication.java:247) >> at >> repast >> .simphony >> .ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java:40) >> at >> saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: >> 188) >> at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) >> at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) >> at >> saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: >> 64) >> at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun >> .reflect >> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: >> 39) >> at >> sun >> .reflect >> .DelegatingMethodAccessorImpl >> .invoke(DelegatingMethodAccessorImpl.java: >> 25) >> at java.lang.reflect.Method.invoke(Method.java:592) >> at saf.core.runtime.Boot.run(Boot.java:125) >> at saf.core.runtime.Boot.main(Boot.java:280) >> at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) >> >> [2] >> 2009/10/28 14:38:09,290: Fatal error starting Repast >> java.lang.NoClassDefFoundError: repast/simphony/scenario/ >> ModelInitializer >> at java.lang.ClassLoader.findBootstrapClass(Native Method) >> at java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:946) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:308) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:306) >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at >> org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown >> Source) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:242) >> at >> repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java: >> 66) >> at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: >> 197) >> at repast.simphony.ui.RSApplication.open(RSApplication.java:247) >> at >> repast >> .simphony >> .ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java:40) >> at >> saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: >> 188) >> at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) >> at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) >> at >> saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: >> 64) >> at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun >> .reflect >> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: >> 39) >> at >> sun >> .reflect >> .DelegatingMethodAccessorImpl >> .invoke(DelegatingMethodAccessorImpl.java: >> 25) >> at java.lang.reflect.Method.invoke(Method.java:592) >> at saf.core.runtime.Boot.run(Boot.java:125) >> at saf.core.runtime.Boot.main(Boot.java:280) >> at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) >> >> [3] >> 2009/10/28 14:40:00,894: Fatal error starting Repast >> java.lang.NoClassDefFoundError: repast/simphony/scenario/ >> ModelInitializer >> at java.lang.ClassLoader.defineClass1(Native Method) >> at java.lang.ClassLoader.defineClass(ClassLoader.java:675) >> at >> java.security.SecureClassLoader.defineClass(SecureClassLoader.java: >> 124) >> at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) >> at java.net.URLClassLoader.access$100(URLClassLoader.java:56) >> at java.net.URLClassLoader$1.run(URLClassLoader.java:195) >> at java.security.AccessController.doPrivileged(Native Method) >> at java.net.URLClassLoader.findClass(URLClassLoader.java:188) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:316) >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at >> org.java.plugin.standard.StandardPluginClassLoader.loadClass(Unknown >> Source) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:242) >> at >> repast.simphony.scenario.Scenario.getModelInitializer(Scenario.java: >> 66) >> at repast.simphony.scenario.ScenarioLoader.load(ScenarioLoader.java: >> 197) >> at repast.simphony.ui.RSApplication.open(RSApplication.java:247) >> at >> repast >> .simphony >> .ui.RSAppConfigurator.postWindowOpen(RSAppConfigurator.java:40) >> at >> saf.core.ui.GUICreatorDelegate.runDisplay(GUICreatorDelegate.java: >> 188) >> at saf.core.ui.GUICreator.runDisplay(GUICreator.java:14) >> at repast.simphony.ui.RSUIPlugin.run(RSUIPlugin.java:87) >> at >> saf.core.runtime.CorePlugin.runApplicationRunnable(CorePlugin.java: >> 64) >> at saf.core.runtime.CorePlugin.run(CorePlugin.java:33) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun >> .reflect >> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: >> 39) >> at >> sun >> .reflect >> .DelegatingMethodAccessorImpl >> .invoke(DelegatingMethodAccessorImpl.java: >> 25) >> at java.lang.reflect.Method.invoke(Method.java:592) >> at saf.core.runtime.Boot.run(Boot.java:125) >> at saf.core.runtime.Boot.main(Boot.java:280) >> at repast.simphony.runtime.RepastMain.main(RepastMain.java:43) >> >> >> -- >> The University of Edinburgh is a charitable body, registered in >> Scotland, with registration number SC005336. >> >> >> ------------------------------------------------------------------------------ >> Come build with us! The BlackBerry(R) Developer Conference in SF, CA >> is the only developer event you need to attend this year. Jumpstart >> your >> developing skills, take BlackBerry mobile applications to market >> and stay >> ahead of the curve. Join us from November 9 - 12, 2009. Register now! >> http://p.sf.net/sfu/devconference >> _______________________________________________ >> Repast-interest mailing list >> Repast-interest@... >> https://lists.sourceforge.net/lists/listinfo/repast-interest > > -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Repast-interest mailing list Repast-interest@... https://lists.sourceforge.net/lists/listinfo/repast-interest |
|
|
Re: Two follow up issuesOn 28 Oct 2009, at 15:49, Nick Collier wrote: > Dave, > > See below. > > On Oct 28, 2009, at 10:58 AM, Dave Murray-Rust wrote: > > >> 2) Libraries from related projects do not appear to be on the runtime >> build path, and need to be added manually. Is there something I >> should >> be doing to make this happen automatically? > > Not sure what you mean here. Do you mean the classpath used when you > run the model, or the build path used when compiling? If the former, > you can specific 3rd party libs in the model.score (described in a > previous message). If the latter, you can use eclipse to specify > project dependencies when configuring the build path. Yeah, that was a really badly worded question, sorry! I meant runtime classpath, and it's the first version you gave above. This works through the Run Configurations dialogue as well - I was just surprised that it wasn't automatic. Thanks, dave -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Repast-interest mailing list Repast-interest@... https://lists.sourceforge.net/lists/listinfo/repast-interest |
| Free embeddable forum powered by Nabble | Forum Help |