[RESOLVIDO]Javalua

10 respostas
S

Alguém teria um tutorial de como instalar o javalua em Linux, não estou conseguindo gerar os arquivos necessários.

Se alguém poder ajudar agradeço.

10 Respostas

Q

cara, num tem erro, é só compílar e adicionar o .jar e o .so em um local visível à máquina virtual, que são nos caminhos indicados pelas variáveis CLASSPATH e LD_LIBRARY_PATH

luajava > manual > install

se continuar ñ conseguindo fala ae, t+

S

Eu não to conseguindo esses arquivos, os que baixei parecem não funcionar, os códigos não compilam.

Consegue me mandar o link dos dois arquivos que devo usar no Linux?

Obrigado.

Q

poste o erro, pode ser alguma dependência
vc ja instalou o interpretador lua?

S

Bom, vou tentar te explicar todo o cenário.

Eu peguei o arquivo liblua5.1.so que encontrei pra baixar e botei na pasta bin do NetBeans.

Depois fui nas propriedades do projeto e em bibliotecas adicionei o arquivo JAR (luajava-1.1.jar) que um amigo meu gero pra mim. Após isso o código compilo. Mas ai quando executei deu esse erro:

run:

Exception in thread main java.lang.UnsatisfiedLinkError: no luajava-1.1 in java.library.path

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)

at java.lang.Runtime.loadLibrary0(Runtime.java:823)

at java.lang.System.loadLibrary(System.java:1028)

at org.keplerproject.luajava.LuaState.(LuaState.java:92)

at org.keplerproject.luajava.LuaStateFactory.newLuaState(LuaStateFactory.java:59)

at luajava.Main.main(Main.java:17)

Java Result: 1

CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

Esse é o codigo que tava tentando executar:

package testeluajava;

import org.keplerproject.luajava.*;

public class Main {

    public static void main(String[] args) {

        LuaState l = LuaStateFactory.newLuaState();

        l.openLibs();

        l.LdoString(?print \?Hello World\? ?);

        l.close();

    }

}

Obs. desculpe postar o codigo assim, mas ainda nao sei usar aquelas parada pro codigoficar organizado.

Obrigado, por enquanto :slight_smile:

Q

ocorre esse erro pq ñ está comseguiondo encontrar a biblioteca liblua5.1.so, como eu mencionei antes, o caminho onde ela está precisa ser indicado, vc pode fazer isso pela variável de ambiente LD_LIBRARY_PATH (mas por enquanto é melhor ñ mecher nela) ou pela linha de comando pelo parametro de compilação “-Djava.library.path”, o “-D” adiciona valor à propriedade, e vc pode ver, foi a propriedade q gerou a exceção

compile e execute dessa forma:

$ javac Main.java
$ java -Djava.library.path=lib/ Main

se estiver usando uma ide é só acrescentar o parâmetro nas configurações de execução

S

Terei de ser sincero contigo, não consegui entender o que devo fazer, e ao tentar executar esse código que me nadastes no terminal ele pediu pra mim instalar outros pacotes.

Eu entendi o que devo fazer, mas não entendi como fazer.

Obrigado novamente.

S

Venho aqui somente agradecer, após muita insistência consegui fazer funcionar. Muito obrigado pela ajuda.

Estava usando o código que tinha em passado no lugar errado, agora esta tudo ok. Obrigado novamente.

V

Eu sempre achei a integração do lua e do java muito esquisita.

Eu prefiro usar uma linguagem feita para Java, como a groovy: http://groovy.codehaus.org/
A integração é sem traumas e sem surpresas.

S

Pesquisando sobre o lua java li bastante sobre o groovy, mas como os scrips já estão desenvolvidos em lua, e minha parte do projeto é executá-los não tive escolha.

Mas agora ta tranquilo, só quero ver como vai ser na hora de gerar a a aplicação mesmo, pois agora ta funcionando somente no NetBeans, mas depois acho que não vai funcionar.

L

quikkoo:
ocorre esse erro pq ñ está comseguiondo encontrar a biblioteca liblua5.1.so, como eu mencionei antes, o caminho onde ela está precisa ser indicado, vc pode fazer isso pela variável de ambiente LD_LIBRARY_PATH (mas por enquanto é melhor ñ mecher nela) ou pela linha de comando pelo parametro de compilação “-Djava.library.path”, o “-D” adiciona valor à propriedade, e vc pode ver, foi a propriedade q gerou a exceção
compile e execute dessa forma:

$ javac Main.java
$ java -Djava.library.path=lib/ Main

se estiver usando uma ide é só acrescentar o parâmetro nas configurações de execução


Não entendi a explicação acima. Eu to tentando rodar um “Hello Word Lua!” no NetBeans e não to conseguindo pelo mesmo motivo.

package testeluajava1; import org.keplerproject.luajava.LuaState; import org.keplerproject.luajava.LuaStateFactory; public class Main { public static void main(String[] args) { LuaState lua = LuaStateFactory.newLuaState(); lua.openLibs(); lua.LdoString("print('Olá Mundo de Lua!')"); //lua.LdoFile("hello.lua"); //print("Olá Mundo de Lua!") //System.out.println("Olá Mundo de Java!"); lua.close(); } }

O erro é o seguinte:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no luajava-1.1 in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681) at java.lang.Runtime.loadLibrary0(Runtime.java:840) at java.lang.System.loadLibrary(System.java:1047) at org.keplerproject.luajava.LuaState.<clinit>(LuaState.java:92) at org.keplerproject.luajava.LuaStateFactory.newLuaState(LuaStateFactory.java:59) at testeluajava1.Main.main(Main.java:9) Java Result: 1

Baixei o arquivo “luajava-1.1.jar” e “liblua5.1.so”.
Adicionai o “luajava-1.1.jar” na lista de LIBs do netBeans.
Mas não sei usar o “liblua5.1.so” no meu Ubuntu 11.04.
Alguém poderia me ensinar o que fazer.
Sou um completo estúpido quando o assunto é usar projetos de outras pessoas. :oops:

Criado 17 de fevereiro de 2011
Ultima resposta 27 de nov. de 2011
Respostas 10
Participantes 4