Как запустить программу Linux в Java под Windows?

Как я могу запустить двоичный файл Linux под Windows? Есть ли какая-то банка эмуляции или что-то для запуска программы Linux под окнами из кода программы Java, например Runtime.getRuntime().exec()?


person Community    schedule 16.11.2010    source источник


Ответы (5)


В некоторых случаях вам может помочь такой инструмент, как cygwin. Кстати, если вы хотите запустить программу Windows под Linux, вы можете использовать вино.

person AlexR    schedule 16.11.2010

Предполагая, что вы спрашиваете, можете ли вы запустить случайный двоичный файл Linux (т. е. не программу Java, созданную под Linux) под Windows, ответ прост — нет, не без его сборки в виде исполняемого файла Windows.

Вы должны иметь возможность запускать программу на 100% Java в Windows и Linux, если только вы не используете библиотеки, недоступные в обеих ОС.

person Timo Geusch    schedule 16.11.2010

Это совершенно невозможно для произвольных (не Java) программ.

person SLaks    schedule 16.11.2010

Вы можете использовать виртуальную машину с Linux, установленным внутри Windows.

person It Grunt    schedule 16.11.2010
comment
Я ожидаю скорее ответа об использовании JPC для эмуляции, потому что виртуализация настолько очевидна - person ; 16.11.2010

Это невозможно, если только это не двоичный код интерпретируемого языка (например, двоичный файл Java). Также выглядит совершенно невозможным написать «преобразователь» между ОС: даже небольшое различие в дизайне ОС не может быть преобразовано, так как возникает необходимость писать «логический» преобразователь!?? (даже не говоря о многочисленных реализациях Unix) Подумайте об этом: если для Linux процесс означает другое, чем для Windows, то как это будет преобразовано? :) Это не только синтаксическое, но, самое главное, логическое различие, которое препятствует возможности иметь то, что вам нужно, уже существует.

person ivo s    schedule 16.11.2010