Installation 使用java在Eclipse中执行.sh文件

Installation 使用java在Eclipse中执行.sh文件,installation,sh,silent,Installation,Sh,Silent,公共类TestNetbeans{ public static void main(String[] args) { try { ProcessBuilder processBuilder = new ProcessBuilder( "./netbeans-7.0.1-ml-linux.sh", " --silent"); // ProcessBuilder("./netbeans-7.0.1-ml-linux.sh"," -

公共类TestNetbeans{

public static void main(String[] args) {
    try {
        ProcessBuilder processBuilder = new ProcessBuilder(
                "./netbeans-7.0.1-ml-linux.sh", " --silent");
        // ProcessBuilder("./netbeans-7.0.1-ml-linux.sh"," --silent"," -J-Dnb-base.jdk.location=/home/nayum/Documents/jdk1.6.0_23/jre");
        Process process = processBuilder.start();

        process.waitFor();


    } catch (Exception e) {
        System.out.println(e);
        e.printStackTrace();
    }
}
}


此代码在命令提示符下执行时,对于netbeans的静默安装工作正常,但在eclipse中执行时,其执行将终止。问题和解决方案是什么?

IIRC您需要使用shell显式运行脚本。是的,我也做了这些更改。我编写了一个新的SH文件,其中包含命令“/netbeans-7.0.1-ml-linux.SH--silent”,并试图执行这个shell文件,但什么也没有发生。但是进程返回值是“4”。我在谷歌上搜索了一下,发现正数意味着警告是从这个过程中产生的。如何使用Java阅读警告?任何想法都可以从进程中读取stdout和stderr。所以您正在调用“/bin/sh script.sh”?String cmd2=“./netbeans-7.0.1-ml-linux.sh--silent”;进程p2=Runtime.getRuntime().exec(cmd2);p2.waitFor();字符串行=”;BufferedReader br=新的BufferedReader(新的InputStreamReader(p2.getErrorStream());while((line=br.readLine())!=null){System.out.println(line);}