Мне было интересно, можно ли передать код в качестве аргумента в Java CLI и выполнить его компиляцию и запуск кода в памяти вместо того, чтобы записать его в файл, скомпилировать файл, запустите скомпилированный файл, а затем удалите все. Если нет, есть ли способ подражать этому поведению в среде UNIX (Linux/macOS)?Запустить код Java, предоставленный в аргументе CLI
Пример:
> java --code 'public class Main { public static void main(String[] args) { System.out.println("Hello, world."); } }'
У вас может быть больше успеха с одним из языков сценариев на основе JVM (например, Groovy или Beanscript) – Thilo
Вы можете написать код Java, который позволит вам приблизиться к такому поведению. У вас может быть Java-код, хранящийся только в памяти, но Java требует, чтобы файлы классов фактически записывались на диск. Поэтому вам все равно придется удалить их после того, как вы закончите с ними. –
Также обратите внимание, что почти любая программа Java, которую вы собираетесь писать, захочет использовать несколько сторонних библиотек. Средство JVM-скриптинга обычно поддерживает выборку банок зависимости из хранилищ Maven. – Thilo