我正在构建一个我打算仅在 Unix 操作系统上使用的 Java 应用程序。
在应用程序中,我使用 ProcessBuilder
创建了一些子进程,并希望以 native 方式与它们交互。因此,我不想使用 Process
提供的接口(interface),而是希望在启动子进程后将它们转换为 UNIXProcess
。
但是我在尝试使用 Type 时遇到此错误。
import java.lang.UNIXProcess;
public class Main
{
public static void main(String args) throws Exception
{
ProcessBuilder bp = new ProcessBuilder("/bin/echo", "hello");
Process process = bp.start();
UNIXProcess unixProcess = (UNIXProcess) process;
}
}
The type java.lang.UNIXProcess is not visible
我不应该使用 UNIX 进程吗?
我在 Eclipse for Java 1.7 中看到了这个错误,如果这很重要的话。
最佳答案
UNIXProcess
未声明为 public
:
final class UNIXProcess extends Process
这意味着它仅在 java.lang
包中可见。 Java 禁止您在该包之外使用它。
关于java - 为什么 Java 类型 `UNIXProcess` 在我的系统上不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25233072/