近日Eclipse處理Tomcat改新版本,調整好設定後發現若干"舊"專案無法順利RUN起來,吐了 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 的問題,備忘下處理過程吧:
Step 1: 目標專案選取,然後按右鍵選下圖反白處。
近日Eclipse處理Tomcat改新版本,調整好設定後發現若干"舊"專案無法順利RUN起來,吐了 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 的問題,備忘下處理過程吧:
Step 1: 目標專案選取,然後按右鍵選下圖反白處。
最近處理個VB.NET的專案,他使用.ACCDB的檔案來做儲存資料庫,執行失敗使用Debug Mode時Console 有"'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上"的警示訊息。
看起來是缺少了Microsoft Access database engine的套件,下載32-Bit版本安裝彈了底下的訊息,看來因為安裝的Office是64 bit所以不給裝;改下載64-bit版本後可順利安裝,但異常依舊在。
Click-to-Run installations of Office run in an isolated virtual environment on the local operating system. Some applications outside Office may not be aware of where to look for the installation in the isolated environment.
發現WAS LOG有Gson解析JSON處理DATE有異常,爬了下文多篇文章表示程式碼未異動情況下,在不同的伺服器運行的結果會不一樣,開發環境使用TOMCAT所以測不到異常? 但WEBSPHERE報錯ㄌ...
不過LOG中顯然"九月"被Decode成"????"是屬於編碼問題,所以除了格式外Charset也要處理。
LOG: has Exception:com.google.gson.JsonSyntaxException: Failed parsing '???? 22, 2024' as SQL Date
解法備忘:
在寫入BLOB時,先指定DATE FORMAT跟Charset
Gson gson = new GsonBuilder().setDateFormat("MMM dd, yyyy").create();
byte[] bdata = gson.toJson(Class()).getBytes("utf-8");
還原時,也要設定DATE FORMAT跟Charset
Gson gson = new GsonBuilder().setDateFormat("MMM dd, yyyy").create();
gson.fromJson(new String(bdata, Charset.forName("utf-8")), XXX.class);
嘗試這把專案Logback 改 Log4j2來處理日誌問題,備忘如下:
POM.xml
add
src\log4j2.properties
remove
src\logback.xml
最近一些在Chrome/Edge運行已久的邏輯被USER反映說功能異常(怪怪),或時好時壞。
輸入時JavaScript keydown(), keyup()事件失效 參考
在<SELECT></SELECT>使用MULTIPLE後雙擊滑鼠ondblclice()會無法觸發帶入所選項。參考
恩恩...不能說邏輯不更新就不會出事,這兩種個案通報當下都覺得不可思議,爬了爬文這兩篇看來最符合預期,留存下~~後續解法也配合文章提供的方法順利排除!!
將onKeyup()至換成下面的方式來處理,原來的地方class增加ordkeyin來做識別,用迴圈主要是幫助跳下一個位置時多個class的繼承
document.querySelector(".dbRigclk").addEventListener('dblclick', function (event) {
var clickedOption = event.target;
if (clickedOption.tagName === 'OPTION') {
clickedOption.selected = true;
}
mathod_go();
});
日前USER反映12/31的資料產出異常,從系統日誌來看當天是2023-12-31但記錄上都看到2024-12-31,所以當然資料產出異常原因就是檢索的日期2024-12-31沒相對應的記錄 XD
本以為是伺服器時區設定的問題,但比對其他執行的JOB有些正常有些有同樣的狀況,故伺服器時區出錯的假設看來不成立。這時候請教GOOGLE大神看來還是免不了,爬到這篇網誌 後看來是解迷了,系統取日期的方法確實與此篇描述相同,調整寫法把YYYY改成yyyy來避開ISO 8601規則,冀望來年別再採坑了。
後記: 其他同事系統也有發現類似狀況(+1 Year),與他分享時也表示為相同原因,看來這個坑踩的不冤,不過這段Code要打太極也能說委外廠商寫的,驗收時沒問題...就是此潛藏的異常要被察覺不容易罷了!! 經一事長一智是職場職務邁向更PRO的歷練,備忘囉!!