[Java]dozer停止更新,可替代jar檔是什麼?

Boom
Mar 15, 2022

--

🍥原因

因為目前網頁的project有使用到dozer這個套件(jar),而這個套件在maven可引用的jar檔透過WhiteSource掃描都是高風險(可參考下圖)

而且dozer也在2021/4宣布停止維護,所以需要更換一個可以直接使用的套件,不然就需要修改JavaBean的映射方式(hbm.xml)

🍥Dozer 概述 ( 真的很大概 )

dozer主要是一個javabean映射工具庫,主要支持的三種映射方式:註解、API、XML

🍥替代套件:dozer-core.6.6.0.jar

🌟請注意:dozer只支援Jdk 1.8 🌟

這很重要,如果不是Jdk 1.8那這篇文章也不用看了

🍥maven pom.xml修改

From:

<dependency>
<groupId>net.sf.dozer</groupId>
<artifactId>dozer</artifactId>
<version>5.5.1</version>
</dependency>

To:

<dependency>
<groupId>com.github.dozermapper</groupId>
<artifactId>dozer-core</artifactId>
<version>6.0.0</version>
</dependency>

修改完pom.xml即可不需修改程式碼直接使用

如果沒有用maven的話也可以直接下載dozer-core這個jar檔

可參考下方網址(目前是有效的連結,失效的話請見諒~)

不過目前dozer已經停用,所以dozer-core也不知道什麼時候會掃出風險

如果還有想要使用Javabean映射的話以效能、主流考量的話可以考慮MapStruct,但程式改動幅度可能比較大(如果從dozer改過去的話)

或是假設程式碼不想改動這麼大的話可以考慮使用Orika,寫法跟dozer比較相近,但效能大約是dozer的6-8倍(可能更多),這部分可以去參考其他網站實測的數據

written by Boom /2022.3.15

<更新>

後續因dozer-core都有弱點,於是最後採用MapStruct來映射

updated by Boom / 2023.2.24

謝謝你的閱讀:)
如果你喜歡我的分享
歡迎底下留言或來信至boomengineerli@gmail.com 與我分享
期待與更多優秀的夥伴交流😄------------------------------------------------
如果願意給我一些小小鼓勵,請給我1-10個拍手
如果覺得文章對你有點幫助,請給我11-20個拍手
如果想看更多程式的相關文章,請長按拍手按鈕(50個拍爆)讓我知道唷👏最後,如希望持續追蹤我的最新文章,請不要忘記追蹤 Boom ⭐️ 程式自學之旅 謝謝~🙌

--

--

Boom
Boom

Written by Boom

Boom Engineer | BOOM ⭐ 程式自學之旅 | 透過筆記釋放記憶體,記錄自己的程式筆記,『內化』成為這段旅程的養分,也分享給路過,正在經歷這趟旅程的你 | Java note begin at 2020.09 | Python note begin at 2021.03

No responses yet