Bonjour,
Je cherche à intégrer un programme Java dans Ruby. J’ai trouvé ce lien
(Marginally Interesting: Java Integration in JRuby )qui
permet d’inclure les bibliothèques…
Concernant le reste du code, comment doit-on procéder ? Il faut
l’entourer de balises spéciales pour signifier à ruby que c’est du java
? Existe t-il un bon tutoriel pour faire cela ?
merci
Bonjour,
J’aimerais d’abord m’assurer que tu comprend bien que c’est une faculté
réservée à JRuby, il te faut donc utiliser le compilateur JRuby (qui te
produit du bytecode Java, à exécuter avec une JRE). JRuby est un bon
projet,
actif et pas trop mal conçu.
Pour l’aborder, je te propose de te référer au tutoriels officiels:
http://jruby.codehaus.org/The+JRuby+Tutorial+Part+1+-+Getting+Started
HTH.
2009/8/18 ben ******* [email protected]
Salut,
si tu ne veux pas passer par jRuby tu peux regarder du côté d’EJB :
http://rjb.rubyforge.org/
Voici deux exemples d’utilisation :
http://greg.rubyfr.net/pub/?p=519
http://greg.rubyfr.net/pub/?p=525
Greg
Le 18 août 2009 09:56, ook? ook![email protected] a écrit :
Par contre, en ce qui concerne l’installation du paquet rjb, j’obtiens
toujours le message d’erreur suivant lors de son installation (meme en
précisant le JAVA_HOME en option) :
c:/ruby/bin/ruby.exe extconf.rb
checking for jni.h… no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Quelles sont ces bibliothèques à ajouter ?
Merci beaucoup pour ces infos.
Vu que tu as ceci comme message :
c:/ruby/bin/ruby.exe extconf.rb
checking for jni.h… no
Je pense que tu n’as pas de JDK installé, mais probablement seulement un
JRE…
Greg
Le 18 août 2009 11:55, ook? ook![email protected] a écrit :
Regarde ton mkmf.log
2009/8/18 ben ******* [email protected]
ook? ook! wrote:
Regarde ton mkmf.log
2009/8/18 ben ******* [email protected]
Excuse ma “blonditude”, je suis surement très bête mais je ne trouve pas
le fichier log
Regarde ton mkmf.log
have_header: checking for jni.h… -------------------- no
“cl -nologo -E -I. -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -I. -IC:\Program
Files\Java\jdk1.6.0_13\include -IC:\Program
Files\Java\jdk1.6.0_13\include\win32 -MD -Zi -O2b2xg- -G6 -IC:\Program
Files\Java\jdk1.6.0_13\include -IC:\Program
Files\Java\jdk1.6.0_13\include\win32 /W3 conftest.c -P”
checked program was:
/* begin /
1: #include <jni.h>
/ end */
Tu devrais tenter de protéger tes chaines avec espaces en les mettatn
entre
double quote (je parle pour les path contenant Program Files) autre
solution: install le jdk dans un chemin sans espace.
2009/8/18 ben ******* [email protected]
babiben
August 24, 2009, 10:24am
12
OK merci des conseils. J’ai choisi d’utiliser Jruby.
Par contre, j’essaye de convertir cette ligne de code Java en Ruby et
impossible d’y arriver.
KeyStore.PrivateKeyEntry data = (KeyStore.PrivateKeyEntry)
keystore.getEntry(“mykey”, new
KeyStore.PasswordProtection(“mypassword”.toCharArray()));
motdepasse = JString.new(“mypkey”).toCharArray
essai = KeyStore.PasswordProtection(motdepasse)
dataIn = keystore.getEntry(“mykey”,essai)
data = KeyStore.PrivateKeyEntry.new
data = dataIn ;
J’obtiens toujours le message suivant :
undefined method `PasswordProtection’ for
Java::JavaSecurity::KeyStore:Class (NoMethodError)
http://java.sun.com/j2se/1.5.0/docs/api/java/security/KeyStore.PasswordProtection.html