我正在創建一個鎖定文件以防止我的程序的多個實例在此處看到 How to implement a single instance Java application?。鎖定文件將無法與Windows.bat文件一起使用
如果我從命令行運行我的程序,它工作正常,它啓動我的程序並創建鎖定文件。當我嘗試再次運行我的程序時,它會識別鎖定文件並且不會啓動另一個實例,它將命令行參數傳遞給當前正在運行的進程。這就是我想要的。
如果我使用.bat文件,第二次運行.bat文件,我收到此消息「進程無法訪問文件,因爲它正在被另一個進程使用。」該消息不是來自我的程序。該程序沒有按預期運行。我發現奇怪的是,它到達我的程序嘗試訪問文件的地步,但是我的打印語句沒有出現在我的日誌文件中。我有我的程序的日誌文件,我從.bat文件捕獲標準輸出。
這
echo "START" >> C:\Users\Joe\Documents\NetBeansProjects\MyProgram\logs\myp.log
java -jar C:\Users\Joe\Documents\NetBeansProjects\MyProgram\target\MyProgram.jar %1 >> C:\Users\Joe\Documents\NetBeansProjects\MyProgram\logs\myp.log 2>&1
echo "FINISH" >> C:\Users\Joe\Documents\NetBeansProjects\MyProgram\logs\myp.log
你可以發佈你的批處理文件嗎? – Hackoo