2013-01-11 38 views
0

工作,我必须用Java编写的服务器进程使用的ProcessBuilder来启动命令行程序(将R统计引擎),可能会导致X11启动时与苹果运行1.6 jvm。但是,这不适用于Oracle 1.7 jvm。 stdout,stderr或控制台中不会显示错误消息。的ProcessBuilder发射失败,java7,用的Java6

任何想法可能是什么问题?

Java进程监听网络,需要与可以非常,即,它可以启动/多次停止R指令行选项启动R上。在Java之外启动R需要做大量的工作。

+0

*“我没有得到任何错误讯息在标准输出,标准错误,或在控制台中。” *你的意思是你实际消耗和显示'Process'的两个输出流? –

+1

向我们展示一些代码。此外,你确定它是启动代码不工作? (你是否孤立了这个问题?)。 –

+1

R只能使用X11 *如果DISPLAY环境变量设置正确。还要确保你特别使用'X11()'来启动X11,这样你就不依赖隐式设备选择(这就是为什么你可能看不到任何东西 - 它只是使用另一个设备)。最后,如果你需要图形,那么有更好的方法可以使用Java的R(例如JRI/rJava + JavaGD,它允许你将所有的图形路由到你的Java应用程序中) –

回答

0

请尝试升级您的Java为> = 1.7.0.11。

我们有我们的CentOS 5下执行的酒程序进行使用的ProcessBuilder Java应用程序的一个类似的问题它的工作与Java 1.6,但与Java 1.7.0.9爆发。升级到1.7.0.11后,问题消失了。