模型可以随Java的class文件一起打包到Jar中,所以可以把模型文件放到src目录下。
如果是Maven项目,建议把模型放到src/main/resources目录下,避免和Java代码混在一起,毕竟模型大部分时候是通过编辑器编辑的。
也可以选择把模型放到单独目录下,比如创建一个名为things的目录,然后把模型放到该目录下。
X-Meta引擎是使用Java编写的,所以通过代码启动编辑器便于调试。因为如果使用外部的编辑器编辑,那么就不能调试项目中的Java代码了。
import java.io.File; import org.xmeta.Thing; import org.xmeta.World; public class RunThingExplorer { public static void main(String[] args){ try{ //X-Meta引擎是单实例的 World world = World.getInstance(); //初始化引擎,参数是模型库的目录,如果为null那么通过XMETA_HOME或XWORKER_HOME环境变量获取模型库的位置 world.init(null); //事物管理器是用项目的方式编辑模型的,所以需要把模型所在的目录作为项目加入 //参数分别为: //1.项目名称,不要和XWorker中已有的项目名相同 //2.事物模型所在的目录。 //3.是否包含things目录,即模型实际是放在things子目录下的。 //4.是否把项目添加到最前端,一般设为true。 world.addFileThingManager("myproject", new File("./src/main/resources/"), false, true); //启动事物管理器 Thing worldExplorer = World.getInstance().getThing("xworker.ide.worldExplorer.swt.SimpleExplorerRunner"); worldExplorer.doAction("run"); }catch(Exception e){ e.printStackTrace(); } } }
import org.xmeta.ActionContext; import org.xmeta.Thing; import org.xmeta.World; public class RunEditor { public static void main(String args[]){ try{ //X-Meta引擎是单实例的 World world = World.getInstance(); //初始化引擎,参数是模型库的目录,如果为null那么通过XMETA_HOME或XWORKER_HOME环境变量获取模型库的位置 world.init(null); //获取简单事物编辑器,简单事物编辑器 Thing thingEditor = world.getThing("xworker.swt.xwidgets.prototypes.SimpleThingEditor"); ActionContext actionContext = new ActionContext(); //执行简单事物编辑器 thingEditor.doAction("run", actionContext); }catch(Exception e){ e.printStackTrace(); } } }
简单事物编辑器只编辑工作目录下的模型和文件,所以需要设置模型所在的根目录为它的工作目录,在Eclipse里设置方法如下。
如上图,在Eclipse的运行配置中手工设置工作目录,把工作目录指向模型所在的目录。
Copyright © 2007-2014 XWorker.org 版权所有