Question

La documentation semble suggérer que pour pouvoir importer des classes Java dans JRuby, elles doivent figurer dans un fichier JAR:

"Pour pouvoir utiliser les ressources d'un fichier jar de JRuby, le fichier jar doit figurer sur le chemin d'accès aux classes ou vous pouvez le rendre disponible à l'aide de 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 directement des fichiers .class?

Merci!

Était-ce utile?

La solution

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

Si vos fichiers de classe sont compilés selon un chemin relatif de "cible", par ex. foo.Bar se trouve dans "target / foo / Bar.class", puis vous procédez comme suit:

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

module Foo
  include_package 'foo'
end

puts Foo::Bar.new

Et le résultat:

foo.Bar@1582a7c

Autres conseils

Je pense que vous pourriez aussi:

require 'java'
$CLASSPATH << "target"

et ensuite

foo.bar.baz.Class.new() # ... 
# or 
java_import 'foo.bar.baz.Class'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top