我們相當部分的應用還是老式的單體程式,我還是很滿意的,畢竟已經能夠滿足了有關要求,又減輕了各方的壓力。
雖然國產化在推進,但是部分客戶還是在使用windows伺服器,無論是政府還是私營的。
說實話,windows是一個不錯的平臺,我們公司的OA系統如果不是為了維護,可以幾年都不動,執行得好好的,實在很省事。
相當一部分使用者也是用windows作為伺服器。
以往這都挺好的!
但是今日有個客戶要求使用windows server 2019來部署,遇到了一個非常奇怪的問題。
我們根據以往的手冊要求,部署為tomat的服務(不是現在的java -jar那麼跑),因為是war包。
我們的應用有個功能是儲存表單模板到作業系統。
從瀏覽器的除錯獲得的反饋和提示訊息看,怎麼都是成功的。但是再次開啟,卻發現沒有儲存修改。
到伺服器上檢視有關檔案,也是沒有被修改。
問題是,這個應用程式我們已經開發了很多年,也有很多的使用者和例項,沒有遇到這個問題。
想了好久,覺得程式應該不會有問題,比較可能的是環境導致的問題。
環境問題主要是兩個:環境變數和許可權。
檢查環境變數,不覺得有什麼問題。
使用除錯模式部署(即直接執行tomat bin\startup.bat),發現可以儲存,更加確認是許可權的問題。
對於windows並不熟悉,僅限於基本的操作和使用超級使用者進行管理。說實在windows的許可權比起linux還是複雜了些!
但不管怎麼說,只要是超管,應該不會有許可權問題。
想了想,忽然發現windows的服務有個配置應該可以改變服務的許可權,如下圖:
於是如上圖,設定為指定賬戶,並在紅色矩形框了輸入有關賬戶和密碼,並重啟。
問題解決!