Вопрос

Мне наконец удалось забрать 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
$ 
.

Так что я предполагаю, что это означает, что он построен и установлен правильно.Я добавил банку в свой проект, используя «Добавить внешнюю банку» в окне свойства PATH PATH 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)
.

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

<Сильные> luawarior.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");
    }
}
.

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top