在Raspberry Pi上运行一个jar文件

时间:2013-08-02 16:08:24

标签: java servlets jar raspberry-pi

我今天早些时候遇到了一个问题,即远程运行/执行Raspberry Pi上的jar文件。我以某种方式设法在Raspberry Pi上运行/执行jar。我正面临一个新问题,这对我来说非常奇怪,我无法理解为什么。在这里:

我有一个名为JavaApplication2.jar的jar文件。我在支持Windows操作系统的机器上运行/执行这个jar,它可以工作。 (jar创建一个文件夹)

现在,我尝试在Raspberry Pi上运行相同的jar,它再次完美无缺。 要在我使用的两个不同平台上运行/执行相同的jar文件:

java -jar JavaApplication2.jar "file1"

我只有JavaApplication2.jar中的主文件,它看起来像这样:

public static void main(String[] args)throws FileNotFoundException, IOException {
    // TODO code application logic here
    System.out.println("This is the Example of the JAR");
    System.out.println("I hope it runs");
    if(args[0].equalsIgnoreCase("file1")){
        String filename = "readfile.txt";
        String filepath;
        BufferedReader br = new BufferedReader(new FileReader(filename));
        while((filepath=br.readLine())!=null){
            System.out.println(filepath);
            File dir = new File(filepath);
            if (!dir.exists()) {
                dir.mkdir();
                System.out.println("Is the File created??");
            }
            else System.out.println("File Exists!!");
        }
    }
    else 
        if(args[0].equalsIgnoreCase("file2")){
            System.out.println("Finally");
        }
    }
}

现在,我在我的Windows机器上创建一个Servlet,并在Raspberry Pi上从我的机器运行相同的jar。在这里,部分执行jar。它不会创建文件夹(它应该是jar的最终输出)。

Servlet如下所示:

Runtime r = Runtime.getRuntime();
out.println("Am I here??");
Process p = null;
//p = r.exec(new String[] {"cmd","/c", "start /home/pi/JARTest/JavaApplication24.jar"});
p = r.exec(new String[] {"java","-jar", "/home/pi/JavaApplication24.jar", "file1"});
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));  
String line = null;  
while ((line = in.readLine()) != null) {  
    out.println(line);  
}
out.println("Did it work?");

我希望我没有把你的所有问题都弄糊涂了。 请帮我解决一下这个。我已经坚持了很长一段时间的安静,我很确定这是一个非常小的错误,我无法得到。

0 个答案:

没有答案