私は問題があります。ファイルをコピーしようとすると、FileNotFound 例外が発生します。これが私のコードです:
File file = new File("C:\\.DS\\tmp\\client-" + node_id + ".war");
File dir = new File("D:\\Utils\\Apache\\Tomcat\\webapps");
try {
FileUtils.copyFileToDirectory(file, dir);
} catch (Exception e) {
e.printStackTrace();
}
例外は次のとおりです。
java.io.FileNotFoundException: Source 'C:\.DS\tmp\client-022.war' does not exist
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1074)
at org.apache.commons.io.FileUtils.copyFileToDirectory(FileUtils.java:1013)
...
しかし、ファイルはそのフォルダーにあります。
このコードは Tomcat で JSF から呼び出されるので、Tomcat ディレクトリの問題かもしれません。ファイルはProcessBuilderを使用して外部コマンドを介して前の関数で生成されるため、Javaが並列化を試み、コピーが完了した後にProcessBuilderが終了する可能性があります。
また、同じクラスの別のメソッドでは、このコードは完全に機能します。
File file = new File("C:\\.DS\\tmp\\client-" + node_id + ".properties");
File dir = new File("C:\\.DS\\ss\\engines");
try {
FileUtils.copyFileToDirectory(file, dir);
...