五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

當(dāng)程序員真難,又一次被編輯器坑了!

2021-04-21 23:12 作者:程序員魚皮  | 我要投稿

來看看你中過這招么?

大家好,我是魚皮。

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

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

踩坑

我選用的是 MyBatis 框架,來實現(xiàn)在 Java 中操作 PgSQL 數(shù)據(jù)庫。

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

已有配置文件如下:

既然有現(xiàn)成的,那我只需要有樣學(xué)樣,復(fù)制粘貼即可。于是,遵循同事取包名的風(fēng)格,我新建了一個目錄:

然后把配置文件復(fù)制過去,略作修改即可,當(dāng)前目錄如下:

搞定配置文件后,就可以試著讀取它,連接下數(shù)據(jù)庫。再次驚喜地發(fā)現(xiàn)同事已經(jīng)編寫好了一個測試類,代碼如下:

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

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

運行!

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

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

排坑

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

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

這一看,果然查出問題了,構(gòu)建目錄如下:

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

所以 bbb.config 的配置文件路徑應(yīng)該是 bbb.config/sql-map-config.xml,而不是 bbb/config/sql-map-config.xml

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

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

這個微小的差別如果不進入構(gòu)建目錄,是根本發(fā)現(xiàn)不了的。

表面上看不出區(qū)別

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

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


當(dāng)程序員真難,又一次被編輯器坑了!的評論 (共 條)

分享到微博請遵守國家法律
安泽县| 平昌县| 嘉祥县| 阜新| 辰溪县| 尚志市| 沾益县| 屏山县| 宕昌县| 旅游| 临澧县| 大英县| 清镇市| 中西区| 吉首市| 武陟县| 肃南| 兴业县| 四川省| 四子王旗| 长阳| 刚察县| 碌曲县| 三门县| 鹤峰县| 五华县| 吴堡县| 云浮市| 忻州市| 青龙| 和政县| 凤凰县| 山西省| 丹江口市| 图木舒克市| 都江堰市| 阳江市| 高阳县| 剑河县| 栾川县| 肃南|