38 lines
993 B
Lua
38 lines
993 B
Lua
|
local lujavrite = require "lujavrite"
|
||
|
|
||
|
-- Determine Java home to use
|
||
|
java_home = os.getenv("JAVA_HOME")
|
||
|
if java_home == nil then
|
||
|
java_home = "/usr/lib/jvm/jre"
|
||
|
end
|
||
|
|
||
|
-- Initialize JVM
|
||
|
lujavrite.init(java_home .. "/lib/server/libjvm.so", "-ea", "-esa")
|
||
|
|
||
|
-- System.getProperty(key)
|
||
|
function get_property(key)
|
||
|
return lujavrite.call(
|
||
|
"java/lang/System", "getProperty",
|
||
|
"(Ljava/lang/String;)Ljava/lang/String;",
|
||
|
key
|
||
|
)
|
||
|
end
|
||
|
|
||
|
-- System.setProperty(key, value)
|
||
|
function set_property(key, value)
|
||
|
return lujavrite.call(
|
||
|
"java/lang/System", "setProperty",
|
||
|
"(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;",
|
||
|
key, value
|
||
|
)
|
||
|
end
|
||
|
|
||
|
local java_version = get_property("java.version")
|
||
|
print("Java version is " .. java_version)
|
||
|
|
||
|
set_property("foo", "bar")
|
||
|
print("foo is " .. get_property("foo"))
|
||
|
|
||
|
local java_nil = lujavrite.call("java/lang/String", "valueOf", "(Ljava/lang/Object;)Ljava/lang/String;", nil)
|
||
|
print("nil in Lua is " .. java_nil .. " in Java")
|