2012-03-07 1 views
0

Наконец-то мне удалось получить LuaJava для сборки на OSX, и теперь я столкнулся с трудностями в использовании Eclipse. Я положил jnilib в моем системном пути, и когда я иду в директорию, где я построил его, я могу запустить консоль так:LuaJava Eclipse

$ java -cp "luajava-1.1.jar" org.keplerproject.luajava.Console 
API Lua Java - console mode. 
> print("Hello World!") 
Hello World! 
> exit 
$ 

Таким образом, я предполагаю, что означает, что он будет построен и установлен правильно. Я добавил банку в свой проект, используя «Добавить внешнюю банку» в окне свойств пути Java. Но когда я пытаюсь использовать его я получаю эту ошибку:

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) 

Вот весь мой код:

LuaWarrior.java

public class LuaWarrior 
{ 
    public static void main(String[] args) 
    { 
     new Game().start(); 
    } 
} 

Game.java

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"); 
    } 
} 

ответ

0

Оказывается, что он не должен находиться в системном пути, но должен находиться в папке библиотеки JVM.

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/