Luajava Eclipse
-
09-12-2019 - |
Question
J'ai finalement réussi à faire construire Luajava sur OSX et je suis maintenant en difficulté à l'utiliser à Eclipse.Je mets le jnilib dans mon chemin système et quand je vais dans le répertoire où je l'ai construit, je peux exécuter la console comme ceci:
$ java -cp "luajava-1.1.jar" org.keplerproject.luajava.Console
API Lua Java - console mode.
> print("Hello World!")
Hello World!
> exit
$
Je suppose que cela signifie qu'il est construit et installé correctement.J'ai ajouté le bocal à mon projet à l'aide du "Ajouter un pot externe" dans la fenêtre de la propriété Java Build Path.Mais quand j'essaie de l'utiliser, je reçois cette erreur:
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)
Voici tout mon code:
luawarrior.java
public class LuaWarrior
{
public static void main(String[] args)
{
new Game().start();
}
}
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");
}
}
La solution
Il s'avère qu'il n'a pas besoin d'être dans le chemin du système, mais il doit être dans le dossier de la bibliothèque JVM.
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/