如何在Java中使用这个出色的新API?您是否只使用纯粹的本机进程API,如nativeProcess.standardInput.write()和nativeProcess.standardOutput.read(),您无法调试Java端,也无法调用远程Java方法。或者您正在使用一些利用远程方法调用的库,例如flerry lib但是也无法调试Java端?或者您可能正在使用Merapi,您可以调试但无法远程调用Java方法?我问这个,因为这可能是关于这个API及其易用性的最重要的问题。
答案 0 :(得分:0)
听起来您的预订与能够调试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应用程序一样进行行式调试。
-Raj
答案 1 :(得分:0)
您可以使用NativeProcess
执行java.exe
并传递正确的参数来执行Java应用程序。
您不能使用NativeProcess
从jar文件中运行随机java代码。
答案 2 :(得分:0)
使用它们后,您可以使用MerAPI或NativeProcess API调试JVM。 在AIR2.0之前,我使用merapi通过网络与java进程通信。
我更喜欢现在使用NativeProcess启动器,使用MerAPI我们是黑客攻击 丑陋的编组代码。通过merapi调试网络有效负载是一个引脚。
使用NativeProcess API很简单 -
var myForkedExe:NativeProcessStartupInfo = new NativeProcessStartupInfo(); myForkedExe.executable =; ...
我不确定我理解你的意思是不能用merapi调用远程Java方法。 这正是我一直在做的事情。调试很简单,只需设置JPDA args并附加任何JAVA调试器。
答案 3 :(得分:0)
您可以使用Flerry启动并与Java进程通信。
答案 4 :(得分:0)
您可以使用var file:File = new File("/usr/bin/java");
并使用参数Vector将参数传递给Java文件。 E.g。
var arguments:Vector.<String> = new Vector.<String>;
arguments.push("-jar");