Eclipse 卢阿贾瓦月食

Eclipse 卢阿贾瓦月食,eclipse,osx-snow-leopard,luajava,Eclipse,Osx Snow Leopard,Luajava,我最终设法让LuaJava在OSX上构建,现在在Eclipse中使用它遇到了麻烦。我将jnilib放在我的系统路径中,当我转到构建它的目录时,我可以像这样运行控制台: $ java -cp "luajava-1.1.jar" org.keplerproject.luajava.Console API Lua Java - console mode. > print("Hello World!") Hello World! > exit $ 所以我猜这意味着它是正确构建和安装的。

我最终设法让LuaJava在OSX上构建,现在在Eclipse中使用它遇到了麻烦。我将jnilib放在我的系统路径中,当我转到构建它的目录时,我可以像这样运行控制台:

$ java -cp "luajava-1.1.jar" org.keplerproject.luajava.Console
API Lua Java - console mode.
> print("Hello World!") 
Hello World!
> exit
$ 
所以我猜这意味着它是正确构建和安装的。我使用Java构建路径属性窗口中的添加外部jar将jar添加到我的项目中。但当我尝试使用它时,我会出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: ScriptEngineSample
Caused by: java.lang.ClassNotFoundException: ScriptEngineSample
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
以下是我的全部代码:

luawarior.java

Game.java


事实证明,它不需要位于系统路径中,而是需要位于JVM库文件夹中

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/
import org.keplerproject.luajava.LuaState;
import org.keplerproject.luajava.LuaStateFactory;

public class Game
{
    private LuaState _lua;

    public Game()
    {
        _lua = LuaStateFactory.newLuaState();
        _lua.openLibs();
    }

    public void start()
    {
        _lua.LdoFile("scripts/hello.lua");
    }
}
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/