Есть ли какая-нибудь Python-подобная интерактивная консоль для Java?

В последнее время я потратил много времени на программирование в Java, и одна вещь, которую я пропустил на языках сценариев, - это возможность тестировать их на консоли.

Чтобы быстро протестировать java-программу, я должен отредактировать файл, а затем перевести его в байт-код и выполнить его. Даже используя IDE, он теряет удовольствие после 372-го раза.

Я хотел бы знать, есть ли там продукт, который имеет что-то вроде интерактивной консоли (я полагаю, вам нужен компилятор JIT) и некоторая автозаполнение (с возможностью повторного использования, я полагаю, это возможно).

Возможно, что-то очень распространенное, что я просто не знаю или что-то совершенно невозможно, но его худшее спрашивает: -)

Ответ 1

Не совсем, потому что Java четко не определена без структуры класса и так далее. Но некоторые близкие приближения находятся в Groovy, Clojure, Scala, а Bean Shell.

Ответ 3

Как ни странно, вы получаете интерактивную консоль с Jython! Вы больше не похожи на Python.

Ответ 4

Попробуйте Dr Java "Панель взаимодействия".

Ответ 5

Вы также можете выполнить интерактивный интерпретатор Scala.

Ответ 6

Подход, который я использовал для некоторой степени успеха, - это отладка в Eclipse и использование отображения. То, что вы видите на экране, - это возможность управлять кодом, выполняемым в настоящее время в JVM, посредством выполнения Java-инструкций. Любой объект, доступный в определенной точке останова, на которой вы остановились, находится в области видимости. Хотя это не совсем то, что вы ищете, оно предоставляет некоторые функции, которые REPL предоставляет для других сред программирования. Для получения дополнительной информации см. Отладка с платформой Eclipse.

Ответ 7

Вам может быть интересно Groovy.

Ответ 8

Jgrasp IDE имеет интерактивную консоль, где вы можете протестировать, я использую его много, и есть alos отладочный вид, показывающий variabel и т.д. после того, как вы их огласите.

Он открывается, и вы можете получить копию http://www.jgrasp.org/

//Андерс

Ответ 9

Вы можете использовать BeanShell для запуска произвольного кода Java. Если вы хотите интегрировать Eclipse, EclipseShell поддерживает BeanShell.

Ответ 10

Я иногда сталкиваюсь с той же проблемой и имею частичное решение. Я держу вокруг файла (как сказал Чарли Мартин, Java нуждается в контекстах класса), что немного больше, чем тестовая программа. Во втором окне - консоли - у меня есть script, который я запускаю, который проверяет время модификации исходного файла каждую секунду или две. Когда он видит изменение источника, он перекомпилирует его (я обычно играю в C, но я тоже это сделал с Java) и выполняет результат.

Это не отличное решение, но его быстрый одноразовый, и я нашел его очень полезным.