A JNA backed, JSR-223 compliant Lua language binding for Java.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
README.md Tried to make the explanation of no-name-mangling clearer Jul 19, 2010
lua.jar Added JNAerator-created lua.jar Jul 18, 2010


jna-lua is a JSR-223 compliant Lua language binding for Java.

This project is a complete and small language binding for Lua 5.1. It uses the existing reference implementation from PUC-Rio, written in C. Access to the native code is provided by JNA, so no JNI code is required.

This implementation provides two-way integration between Java and Lua. It also strives to be a fully compliant implementation of the JSR-233 specification.

The C API can be found in lua.jar. This jar was created by JNAerator, and it contains the interfaces to the functions contained in lua.h, lauxlib.h, and lualib.h. The function names have not been modified, so they remain prefixed with lua_* or luaL_. While this makes the method names uglier, it also keeps the API as simple as possible.

jna-lua is intended to be small and simple, so it excludes some features found in other implementations. Specifically, jna-lua does not include a separate Lua compiler or Java implementation of Lua. It also does not include any native code; it depends entirely on the existing Lua C libraries being available.


  • JNLua -- similar to this project
  • LuaJava -- oldest and arguably the most popular
  • kahlua -- Lua re-implemented in Java

See also