2009-01-09 8 views
7

La documentation semble suggérer que pour moi d'importer des classes Java en JRuby, qu'ils doivent être dans un fichier JAR:Puis-je importer des fichiers de classe Java dans JRuby?

« Pour utiliser les ressources dans un fichier jar de JRuby le fichier jar doit être soit sur le classpath ou vous pouvez le rendre disponible avec la méthode require " (http://wiki.jruby.org/wiki/Calling_Java_from_JRuby#Require_a_jar_file_to_make_resources_in_the_jar_discoverable_within_JRuby)

Est-il possible d'importer des fichiers .class directement?

Merci!

Répondre

8

J'ai réussi à répondre à ma propre question :)

Si vos fichiers de classe sont compilés à un chemin relatif de « cible », par exemple foo.Bar est situé dans "target/foo/Bar.class", vous effectuez les opérations suivantes:

require 'java' 
require 'target/foo/Bar' 

module Foo 
    include_package 'foo' 
end 

puts Foo::Bar.new 

Et le résultat:

[email protected] 
5

Je pense que vous pourriez aussi:

require 'java' 
$CLASSPATH << "target" 

puis

foo.bar.baz.Class.new() # ... 
# or 
java_import 'foo.bar.baz.Class' 
+1

CLASSPATH $ au lieu de $ CLASS_PATH – fjsj

+0

thx !, réparé, acclamations reto – reto

Questions connexes