0

今日、リモートで Raspberry Pi で jar ファイルを実行/実行する際に問題が発生しました。何とかRaspberry Piでjarを実行/実行できました。私は新しい問題に直面しています。これは私にとって非常に奇妙で、その理由を理解できません。ここに行きます:

JavaApplication2.jar という名前の jar ファイルがあります。Windows OSをサポートするマシンでこのjarを実行/実行すると、動作します。(jar はフォルダーを作成します)

今、私は Raspberry Pi で同じ jar を実行しようとしましたが、再び完全に正常に動作します。私が使用する2つの異なるプラットフォームで同じ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 マシンでサーブレットを作成し、Raspberry Pi のマシンから同じ jar を実行します。ここでは、jarを部分的に実行します。フォルダーは作成されません (jar の最終出力となるはずです)。

サーブレットは次のとおりです。

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?");

私の質問で皆さんを混乱させていないことを願っています。これで私を助けてください。私は長い間これに固執してきましたが、それは非常に小さな間違いであり、私には理解できないと確信しています.

4

0 に答える 0