Ola galera,
é os seguinte, estou usando Ubuntu e não entendo nada de Linux, porem acho que nao é esse o problema . Eu tenho 2 jars e 1 arquivo java dentro de um mesmo diretorio, preciso compilar apontando para as jars, estou fazendo da seguinte maneira:
No Linux, você separa os “jars” com “:”, não com “;”, que tem significado especial para o shell. (Ele serve para separar comandos - você pode ter N comandos em uma mesma linha, bastando separá-los com um “;”).
Sad7
hun… eu nao acredito que era soh isso cara…valeu msm :lol:
mais estranho pq agora quando eu rodo com o comando:
esse é meu codigo, nao vejo o que pode estar errado…
obs: eu sei que nome de classe é maiusculo antes que alguem fle neh xD, masi eh que eh uma classe que eu jah peguei pronta, soh estou testando, entao nao vou modific-la, mais tambem jah testei com a classe abaixo e nao deu tambem:
Ola, valeu funcionou porem agora gerou outro erro cara =/
Eu estou usando no meu codigo a classe System.LoadLibrary(jar1) e entao eu vi que para setar isso tenho que passar como parametro tbm o library path, estou passando assim:
sabe o que pode seR?
e muito obrigado pela ajuda que ta me dando cara, ta quebrando um galhão aqiui…
Abraçoos
M
marcobiscaro2112
O loadLibrary carrega uma biblioteca nativa do sistema para ser usada no Java (um .so ou um .dll dependendo do sistema). Você não precisa chamar esse método para um JAR (basta adicioná-lo ao class path mesmo).
PS: [OFF-TOPIC] você usa seu computador normalmente como root? Você está ciente que isso é perigoso, certo?
Sad7
certo entao eu devo colocar os .so e nao os .jar no meu diretorio, correto?!
nao, traquilo, qualquer problema eu restouro aqui, estou usando o Linux numa VM somente para este teste, sem problemas, valeu =]
M
marcobiscaro2112
Você só precisará usar o System.loadLibrary e bibliotecas .so se estiver usando código nativo (por exemplo, escrito em C) na sua aplicação. Nesse caso você teria um método parecido com esse:
publicnativevoiddoSomething();
Mas me parece que esse não é o seu caso. Você apenas tem um JAR que é dependência do seu projeto, certo? Se for isso, simplesmente remova o System.loadLibrary do seu código. Você só precisará do JAR no class path.
Sad7
ai que ta cara, eu estou usando metodos nativos sim.
=/
por isso eu preciso usar o loadLibrary, no Windows eu consegui usar trtanquilo, colokei as dlls no system32 e boa, agora no linux estou com este problema .
M
marcobiscaro2112
As bibliotecas estão corretas? Com certeza? Se estiverem, deixe-as (os arquivos .so) em um diretório qualquer (por exemplo, /root/java). Supondo que o arquivo da biblioteca seja “/root/java/biblioteca.so”, no código faça:
System.loadLibrary("biblioteca");
E na hora de compilar, use o argumento “-Djava.library.path=/root/java”. Isso deve resolver.
M
marcobiscaro2112
Sad7:
ai que ta cara, eu estou usando metodos nativos sim.
=/
por isso eu preciso usar o loadLibrary, no Windows eu consegui usar trtanquilo, colokei as dlls no system32 e boa, agora no linux estou com este problema .
Dessa forma você “instala” a biblioteca no sistema e não precisar mexer no library path. Se quiser fazer isso no Linux, coloque o .so dentro da pasta /usr/lib.
Sad7
entao, jah esta lah, =//
nao sei oq esta acontecendo…to tentando de tudo jeito aki, mais ta fodinha viooo
M
marcobiscaro2112
Você poderia passar em um arquivo compactado o código fonte do programa Java e a biblioteca (o source dela, de preferência)?