动态模型引擎是一个轻量级的引擎,可以嵌入到Java项目中。在Java项目中使用动态模型,主要是把各种功能封装成模型,通过模型方便快捷的使用它们,从而实现快速编程。。
XWorker在Java项目中的主要作用是提供了一些模型库,以及一个模型管理器。模型管理器可以编辑和运行模型,也包含了各种各样的工具。
在Java项目中导入XWorker主要是导入XWorker相关的类库。如果只是用来编辑和运行模型,类库的作用范围可以设置为test。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<dependencies>
<dependency>
<groupId>org.xworker</groupId>
<artifactId>xworker_swt_thingeditor</artifactId>
<version>2.0.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.xworker</groupId>
<artifactId>xworker_webserver</artifactId>
<version>2.0.3</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
如果只是把XWorker作为模型编辑器,相关包的scope可以设置为test。
SNAPSHOT版本可以访问最新的XWorker模型库,其中sonatype仓库是为了可以使用SNAPSHOT版本的类库。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<dependencies>
<dependency>
<groupId>org.xworker</groupId>
<artifactId>xworker_swt_thingeditor</artifactId>
<version>2.0.4-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.xworker</groupId>
<artifactId>xworker_webserver_jakarta</artifactId>
<version>2.0.4-SNAPSHOT</version>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<name>Central Portal Snapshots</name>
<id>central-portal-snapshots</id>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</project>
如果只是把XWorker作为模型编辑器,相关包的scope可以设置为test。
以上pom中的依赖是运行模型编辑器必要的依赖,可以根据需要选择其它XWorker的模型库,可以参看模型库工具。
编写一个Java程序来运行模型编辑器。如果是Maven项目,可以放到src/test/java下。
import org.xmeta.World;
import xworker.lang.util.XWorkerUtils;
import xworker.swt.SwtThingEditor;
import xworker.webserver.XWorkerWebServer;
import java.io.File;
public class ThingEditor {
public static void main(String args[]){
try{
//获得动态模型引擎的实例
World world = World.getInstance();
//初始化引擎的工作目录,可能会生成一些临时文件,该目录要可写
world.init("./xworker/");
//添加模型管理器,即模型存放的目录,编辑模型需要。Test是模型管理器的名字,不能和其它模型管理重复。
world.addFileThingManager("myproject", new File("./src/main/resources"), false, true);
//模型可以放到Java源码目录下,模型可以和Java一起编译和打包,不过在jar中的模型一般是只读的
//检查是否需要初始化,比如依赖模型库更新了重新建立索引
XWorkerUtils.setup(false);
//运行Web服务器和模型编辑器
XWorkerWebServer.run();
SwtThingEditor.run();
}catch(Exception e){
e.printStackTrace();
}
System.exit(0);
}
}
注意首次启动或类库变更后启动时间会比较长,这时会在启动时解压资源和建立索引等。成功运行后会打开模型管理器,如下图。

Copyright © 2007-2019 XWorker.org 版权所有 沪ICP备08000575号