문제

나는 마침내 루아바가 OSX를 구축하도록 관리했으며 이제는 이들은 이클립스에서 그것을 사용하여 문제가 발생합니다.JNILIB를 시스템 경로에 넣고 i 디렉토리에 가면 i를 구축 한 디렉토리로 가면 다음과 같이 콘솔을 실행할 수 있습니다.

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

그래서 그것이 올바르게 지어지고 설치되었음을 추측합니다.Java Build Path 속성 창에서 "외부 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)
.

여기에 모든 코드가 있습니다 :

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

도움이 되었습니까?

해결책

시스템 경로에있을 필요가 없지만 JVM 라이브러리 폴더에 있어야합니다.

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top