Java コード :
//Gives the webapp directory
String pythonScriptPath = getServletContext().getRealPath(File.separator);
//Gives OS name
String OS = System.getProperty("os.name").toLowerCase();
if (OS.indexOf("win") >= 0) {
pythonScriptPath = pythonScriptPath + "scripts\\data_parser.py";
} else if ((OS.indexOf("mac") >= 0) {
pythonScriptPath = pythonScriptPath + "scripts/data_parser.py";
}
String[] cmd = new String[3];
cmd[0] = "python";
cmd[1] = pythonScriptPath;
cmd[2] = "2013-09-10T08:00:00-04:00";
// create runtime to execute external command
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(cmd);
このコードは Mac マシンで問題なく動作します。問題はWindowsマシンにあります。「scripts」ディレクトリの下にあるpythonファイルを取得して実行しようとしています。私のプログラムは Mac ではファイルを見つけることができましたが、Windows では見つけられませんでした。
Windows のファイル: C:\Users\Administrator\TEST.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\TEST\scripts\data_parser.py
Mac のファイル: /Users/satishjonnala/TEST/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/TEST/scripts/data_parser.py