Ограничения JRuby при работе с Классами Java

Повторно используемый код сделан с шаблоном. Его приложение соответствует профилю каждого.

7
задан Jakub Arnold 4 September 2013 в 15:37
поделиться

2 ответа

  • Может ли JRuby работать с аннотациями Java?

Нет. В Ruby нет аннотаций. Однако компилятор ruby2java позволит вам добавлять аннотации, которые используются при компиляции в файл класса.

  • можно ли использовать отражение из JRuby в классе Java?

Да:

java.util.Vector.methods.include? '[]'  #  => true
  • можно ли использовать отражение из Java в классе JRuby?

При встраивании JRuby с использованием BSF или JSR223? Только в той мере, в какой это позволяют эти технологии. При использовании ruby2java? Да. Он генерирует обычные файлы Java .class.

  • есть ли у меня исполняемые классы в JRuby?

Я не совсем уверен, о чем вы спрашиваете.

  • можно ли переопределить класс Java внутри сценария JRuby? (точно так же, как я могу переопределить, например, Integer в C Ruby)

Да, вы можете сделать патч обезьяны в JRuby, но изменения не видны со стороны Java, только JRuby:

import java.util.Vector
class Vector
  def foo
    "foo!"
  end
end
v = java.util.Vector.new
v.foo                       #  => "foo!"
  • есть ли другие ограничения , которые препятствуют использованию JRuby как части любого приложения Java?

При использовании Java из JRuby имеется множество мелких ошибок . ruby2java все еще находится в зачаточном состоянии, и я еще не уверен, что он готов для производственной среды. Помимо этого,

9
ответ дан 6 December 2019 в 15:23
поделиться

JRuby 1.4 действительно содержит некоторую поддержку аннотаций для классов Ruby, но только во время выполнения. Посмотрите на http://github.com/nicksieger/ruby-jersey пример использования нового поколения классов среды выполнения для взаимодействия с фреймворками на основе аннотаций.

Остальные ответы Песто в значительной степени во многом похожи на правильно.

4
ответ дан 6 December 2019 в 15:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: