LINUX.ORG.RU

Запуск Java-приложения в VirtualBox без предустановленной OS

 , ,


0

4

Доброго вечера. Поставили задачу, запустить приложение на java 8 на виртуалке в VirtualBox без предустановленной на нём операционки. Как это можно реализовать? GraalVM SDK для 8-ки пробовал, не канает.



Последнее исправление: Karamelka (всего исправлений: 1)
Ответ на: комментарий от cocucka

Касательно GraalVM, я имел в виду именно утилиту native-image, которая в неё входит, позволяющая скомпилированный java-класс скомпилировать ещё раз, но уже в байт-код

Karamelka
() автор топика
Ответ на: комментарий от Karamelka

Возьми alpine linux, там все по минимуму, как раз для таких случаев. Вместо инита сразу свою прогу запускай и все.

cocucka ★★★★☆
()
Последнее исправление: cocucka (всего исправлений: 1)
Ответ на: комментарий от cocucka

Не надо вместо инита, у инита свои задачи есть, а эти ихние программисты на System.out про сбор зомбей явно не слышали.

vbr ★★★★
()
Последнее исправление: vbr (всего исправлений: 1)
Ответ на: комментарий от vbr

Я больше скажу, эти мр@зи shell реализовали через switch. А в java он принимает только константные значения, и чтобы открыть файл вы сначала пишете $ open file, консоль спрашивает какой, и вы вводите вторую команду путь :/

Karamelka
() автор топика
Ответ на: комментарий от Karamelka

Я бы оттуда бежал бросив зарплату. Лучше бомжевать на вокзале, чем тратить кусочек жизни на удовлетворение амбиций абсолютно сумасшедших людей.

Shadow ★★★★★
()
Ответ на: комментарий от Karamelka

Касательно GraalVM, я имел в виду именно утилиту native-image, которая в неё входит, позволяющая скомпилированный java-класс скомпилировать ещё раз, но уже в байт-код

Оно компилирует тебе Java в машкоды и встраивает SubstrateVM в Linux-бинарь. Но, не для bare-metal код же!

Короче задача, которую тебе поставили некомпетентные начальники представляет собой типичные «семь красных линий», попробуй объяснить начальству о том, что JavaVM, любая, HotSpot или SubstrateVM должна под собой иметь OS для реализации всех системных вещей: потоков, сокетов, сети, файловых систем и т. д.

Если они не поймут – шли их в хер и иди стримить код хобби-проектов на OnlyFans, там платят больше.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Как я понимаю, начальство хочет свою доверенную ОС для этого.

Задача реальная, вполне. Но не для джунов.

К слову, может вот тут наработки KolibriOS пригодятся…

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

Как я понимаю, начальство хочет свою доверенную ОС для этого.

Задача реальная, вполне. Но не для джунов.

Нереальная она ни для джунов, ни для мидлов, ни для сеньоров. Подобные задачи решают компании и команды самых разных специалистов. Хороший пример – KasperskyOS. Возможно там есть порт JVM, но и то это вилами по воде. И это годы и месяцы разработки, а не «на всё у тебя неделя» как у ТС.

Даже если он соберёт кучу индусов и за месяц они родят какую-нибудь собственную TinyOS с портом JVM поверх, какого уровня там будет доверенность? Доверенность обеспечивается аудитами, а не мисками риса. Да и какого уровня там будет порт JVM, сможет ли он обеспечить ту стабильность и функциональность, которая достигнута тысячами человекочасов в портах JVM под Linux?

Задача, которую ТС озвучил просто невыполнима. А срок неделя смехотворен.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от Dog

Х.з, ни их антивирем, ни этой OS я никогда не пользовался, это просто удачный пример в случае задачи ТС:

Самостоятельно написанная OS с реализацией POSIX, на которую наверняка без проблем водружается JVM.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

JVM даже на alpine водружается с проблемами. А ты про какую-то левую ОС. Не, водрузить, думаю, можно, но «без проблем» это ты преувеличил. За пару человеколет порт сделать реально.

vbr ★★★★
()
Ответ на: комментарий от Karamelka

вариант какой-нибудь ultra-lightweight линукс найти

Может OSv?

OSv is an open-source versatile modular unikernel designed to run single unmodified Linux application securely as microVM on top of a hypervisor.
OSv has been designed to run unmodified x86-64 and aarch64 Linux binaries as is, which effectively makes it a Linux binary compatible unikernel (for more details about Linux ABI compatibility please read this doc). In particular OSv can run many managed language runtimes including JVM, Python, Node.JS, Ruby, Erlang, and applications built on top of those runtimes.
OSv can run on many hypervisors including QEMU/KVM, Firecracker, Cloud Hypervisor, Xen, VMWare, VirtualBox and Hyperkit as well as open clouds like AWS EC2, GCE and OpenStack.

mydibyje ★★★★
()