java中使用lua脚本
第一步:
windows下,先下载安装lua(其他操作系统自行百度,我只说主要基本的流程)
下载地址
我选了lua-5.3.4_Win64_bin.zip为例
第二步:
解压到D盘根路径的lua文件夹中
配置环境变量,增加D:\lua;
第三步:
java项目中引入luaj
git项目为例:
<dependency> <groupId>org.luaj</groupId> <artifactId>luaj-jse</artifactId> <version>3.0.1</version> </dependency>
第四步
java调用lua分两种情况:
第一种情况,简单的lua脚本,直接用java字符串写:
public static void main(String[] args) { String luaStr = "print 'hello world'"; Globals globals = JsePlatform.standardGlobals(); LuaValue chunk = globals.load(luaStr); chunk.call(); }
执行结果如下:
hello world
第二种情况,java中调用lua文件:
创建lua文件:testtest.lua
--无参方法 function test1() print '调用lua文件无参方法的返回值' end --带参方法 function test2(str) return '调用lua文件有参方法的返回值' end
java中调用:
public static void main(String[] args) { String luaPath = "testtest.lua的路径"; Globals globals = JsePlatform.standardGlobals(); globals.load(new InputStreamReader(new FileInputStream(new File(luaPath))), "chunkname").call(); LuaValue func = globals.get(LuaValue.valueOf("test1")); func.call(); LuaValue func1 = globals.get(LuaValue.valueOf("test2")); String data = func1.call(LuaValue.valueOf("java入参")).toString(); System.out.println("lua文件返回值:" + data); }
执行结果如下:
调用lua文件无参方法的返回值
lua文件返回值:调用lua文件有参方法的返回值