Как использовать AIR 2.0 NativeProcess API с Java?

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

6
задан dede 18 June 2010 в 01:03
поделиться

3 ответа

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

Вы не можете использовать NativeProcess для запуска произвольного java-кода из jar-файла.

0
ответ дан 18 December 2019 в 04:47
поделиться

Похоже, ваши оговорки связаны с возможностью отладки процесса Java. На самом деле это не проблема. Вы можете использовать NativeProcess API, чтобы запустить 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.

-Радж

0
ответ дан 18 December 2019 в 04:47
поделиться

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

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

Использовать NativeProcess API просто -

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

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

0
ответ дан 18 December 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: