日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

当程序员真难,又一次被编辑器坑了!

發布時間:2025/3/15 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 当程序员真难,又一次被编辑器坑了! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來看看你中過這招么?

大家好,我是魚皮。

最近工作比較忙碌,做完技術選型后,這兩周開始上手開發了。首先是用 Java 數據訪問框架對接 PgSQL,本來以為至多半個小時就能搞定了,結果沒想到,我竟然被編輯器給坑了!耽誤了好一會兒。

把被坑的經歷分享出來,希望大家引以為戒。

踩坑

我選用的是 MyBatis 框架,來實現在 Java 中操作 PgSQL 數據庫。

該框架需要讀取 xml 配置文件來實現對象關系映射,看了一下項目目錄,驚喜地發現之前有同事已經接入了 MyBatis,并且寫好了一份配置文件。

已有配置文件如下:

既然有現成的,那我只需要有樣學樣,復制粘貼即可。于是,遵循同事取包名的風格,我新建了一個目錄:

然后把配置文件復制過去,略作修改即可,當前目錄如下:

搞定配置文件后,就可以試著讀取它,連接下數據庫。再次驚喜地發現同事已經編寫好了一個測試類,代碼如下:

public static void main(String[] args) {DatabaseClient pg = new DatabaseClient(// 數據庫屬性文件"db.properties",// 編寫的配置文件"aaa/config/sql-map-config.xml"); }

之前的同事測試的是 aaa/config 配置文件,那我只需要把 aaa 改成 bbb,不就可以連接成功了么?

運行!

嘔豁,報錯了,說是找不到文件?

奇怪了,文件明明存在啊?大家來幫忙找找茬,到底是哪里出現了問題呢?

排坑

下面來排排坑吧,首先我研究了一會兒 aaa 和 bbb 目錄下配置文件的差異,結果完全找不出問題。

好吧,是我傻了,出了 bug 要從報錯信息查起。既然說找不到文件,那就看一下構建目錄中配置文件是否有被打包進去。

這一看,果然查出問題了,構建目錄如下:

大家發現了差異了么,aaa/config 是兩個獨立的目錄,對應兩個 Java 的包;而 bbb.config 根本就是一個目錄,只不過目錄名稱中正好出現了包名的點分隔符!

所以 bbb.config 的配置文件路徑應該是 bbb.config/sql-map-config.xml,而不是 bbb/config/sql-map-config.xml!

唉,原來是中了開發工具的 “障眼法”,在 JetBrains 全家桶中,有一個視圖設置,當包中沒有文件時,會對中間包進行折疊。

所以最初我建目錄的時候,就應該先建立 bbb 目錄,再在 bbb 下建立 config目錄,形成嵌套包,而不是直接建了一個名稱為 bbb.config 的目錄。

這個微小的差別如果不進入構建目錄,是根本發現不了的。

雖然這個問題歸根到底是由自己的粗心導致的,但也值得記錄下來,防止以后遇到類似的錯誤。


就是這樣,希望大家以后在使用編輯器的時候多個心眼兒,不要完全相信它!

總結

以上是生活随笔為你收集整理的当程序员真难,又一次被编辑器坑了!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。