Как использовать AIR 2.0 NativeProcess API с Java? - PullRequest
6 голосов
/ 18 июня 2010

Как вы используете этот великолепный новый API в связи с Java?Используете ли вы только чистый API-интерфейс нативного процесса, такой как nativeProcess.standardInput.write () и nativeProcess.standardOutput.read (), с помощью которого вы не можете отлаживать сторону Java и не вызывать удаленный метод Java.Или вы используете какую-то библиотеку, которая использует удаленный вызов методов, такую ​​как flerry lib, но которая также не может отлаживать сторону Java?Или, может быть, вы используете Merapi, с помощью которого вы можете отлаживать, но не можете удаленно вызывать метод Java?Я спрашиваю об этом, потому что это, возможно, самый важный вопрос относительно этого API и его простоты использования.

Ответы [ 5 ]

0 голосов
/ 11 января 2012

Вы можете использовать var file:File = new File("/usr/bin/java"); и передавать параметры в Java-файл с вектором аргументов.Например,

var arguments:Vector.<String> = new Vector.<String>;
arguments.push("-jar");
0 голосов
/ 19 января 2011

Вы можете использовать Flerry для запуска и взаимодействия с процессами Java.

0 голосов
/ 09 июля 2010

Вы можете использовать NativeProcess для выполнения java.exe и передать ему правильные параметры для выполнения Java-приложения.

Вы не можете использовать NativeProcess для запуска случайного кода Java из файла JAR.

0 голосов
/ 20 июля 2010

Используя оба из них, вы можете отлаживать JVM с помощью MerAPI или NativeProcess API.До AIR2.0 я использовал merapi для связи по сети с процессом java.

Я бы предпочел использовать средство запуска NativeProcess сейчас, с MerAPI мы взламывали уродливый код сортировки.Отладка сетевых полезных данных была булавкой через merapi.

Использовать API NativeProcess легко -

var myForkedExe: NativeProcessStartupInfo = new NativeProcessStartupInfo ();myForkedExe.executable =;...

Я не уверен, что понимаю, что вы имеете в виду, не может вызывать удаленные методы Java с помощью merapi.Это именно то, что я делал.Отладка проста, просто установите аргументы JPDA и подключите любой отладчик JAVA.

0 голосов
/ 08 июля 2010

Похоже, ваши бронирования связаны с возможностью отладки Java-процесса. Это на самом деле не проблема. Вы можете использовать API NativeProcess для запуска процесса Java с аргументами, которые приведут к внешней отладке. Например:

var processArgs:Vector.<String> = new Vector.<String>();   
processArgs.push("-Xdebug");  
processArgs.push("-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n");  

Это позволит вашему процессу Java быть удаленно отлаживаемым. После этого вы можете подключиться к нему из Eclipse или Netbeans после начала процесса. Если код в процессе Java связан с активным проектом Eclipse / Netbeans, вы можете выполнять отладку аналогично любой другой программе Java.

-Raj

...