国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

當程序員真難,又一次被編輯器坑了!

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

來看看你中過這招么?

大家好,我是魚皮。

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

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

踩坑

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

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

已有配置文件如下:

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

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

搞定配置文件后,就可以試著讀取它,連接下數(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 是兩個獨立的目錄,對應兩個 Java 的包;而 bbb.config 根本就是一個目錄,只不過目錄名稱中正好出現(xiàn)了包名的點分隔符!

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

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

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

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

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

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

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


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

分享到微博請遵守國家法律
咸阳市| 津南区| 达孜县| 施秉县| 金平| 凤台县| 萨迦县| 石泉县| 临泽县| 吴堡县| 衡南县| 钦州市| 禹州市| 兰考县| 玉山县| 辽源市| 宁夏| 贡觉县| 六枝特区| 榆中县| 惠水县| 韶山市| 诏安县| 张家口市| 张掖市| 鲁山县| 南京市| 阿克陶县| 巴青县| 微山县| 西青区| 元谋县| 鹰潭市| 宁强县| 赣州市| 革吉县| 密山市| 陆丰市| 淮南市| 重庆市| 信宜市|