[精讚] [會員登入]
619

【JDA/discord bot】package does not exist fix

JDA 4.0 和 5.0 差別還是很大的

分享此文連結 //n.sfs.tw/16347

分享連結 【JDA/discord bot】package does not exist fix@小編過路君子
(文章歡迎轉載,務必尊重版權註明連結來源)
2024-02-12 23:09:29 最後編修
2024-02-06 05:47:58 By 過路君子
 

哈囉大家好,這裡是最近一直遇到問題的小編過路君子

一波未平一波又起,一會兒服務出問題、一會兒虛擬機出問題、再一會兒網路出問題......

 

 

今天小編在使用 JDA 5.0 的時候,因為需要呼叫到 TextChannel 這一個類別。

想當然爾,就是找到相關的 javadoc 頁面之後並依照相關的指示 import net.dv8tion.jda.api.entities.channel.concrete.TextChannel。

但竟然吃到了以下的錯誤:

[ERROR] /home/user/discordBot/src/main/java/xxx.java:[12,53] package net.dv8tion.jda.api.entities.channel.concrete does not exist

其了怪了,小編緊接著檢查自己的 pom.xml 配置(部分):

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.0.0-alpha.20</version>
</dependency>

確認是使用 JDA 5.0 而非 JDA 4.0。

那怎麼會報這樣的錯誤,小編實在是百思不得其解,javadoc 這個網站應該不會騙人才對。

後來發現是小編自己的 pom.xml 忘記寫 repository 來源了,補上並刪除原本在 m2 內的檔案之後就正常了。

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>net.dv8tion</groupId>
        <artifactId>JDA</artifactId>
        <version>5.0.0-alpha.20</version>
    </dependency>
</dependencies>

記得要將原本 m2 內的檔案刪除!

 

在更新完成 pom.xml 之後,小編反而吃到另一種錯誤,以下:

[ERROR] /home/user/discordBot/src/main/java/xxx.java:[5,36] cannot find symbol
[ERROR]   symbol:   class TextChannel
[ERROR]   location: package net.dv8tion.jda.api.entities

這剛好就是 JDA 4.0 和 JDA 5.0 的差別,不少的類別被重新歸類到不同的地方。

以 TextChannel 來說,就是從 net.dv8tion.jda.api.entities 下被改至了 net.dv8tion.jda.api.entities.channel.concrete下。

 

 

 

後記

雖然目前 JDA 5.0 仍然是 alpha 的階段,但小編還是決定挑戰看看,直接用 JDA 5.0 來更新自己的 discord 機器人。

這算是小編的 discord 機器人三年來的一次大更新,之前就很想更新了,只是一直犯懶,現在總算是抓到時間了呢~
一直有在關注小編的話,應該知道小編舊的 discord 機器人是用什麼語言寫的吧!

END

你可能感興趣的文章

【PaperMC - API】如何發送指令到伺服器內 How to sending or executing commands to server

【PaperMC】從 Waterfall 切換至 Velocity waterfall 已經停止支援,最後停留在支援 Minecraft 1.21.6,之後的 Minecraft 版本便不再支援

【無料版模】﹝CSS&HTML﹞製作epub電子書版模免費下載&附使用教學 一個專門用來製作epub的簡單CSS檔案,基本上已經可以做出一本還不錯的電子書,讓妳的電子書不在只有預設的字體、樣式

【C++】使用SFML製作讓方塊落下的畫面 從開啟新視窗延伸過來的應用(?),配合上一篇所使用到開啟一個可渲染視窗的那堆程式碼的延伸。

【JSON In Java】如何快速產生JSON 身為三十年老程式語言,當然對Json有不錯的支援,那究竟該如何使用呢

【Wickct】(縮短網址) 如何將網頁掛載到特定路徑下 Wildfly的預設網址又臭又長又不好記,而且會被看到後端的目錄路徑安排,當然能藏就盡量藏起來啦

隨機好文

高捷少女:布拉格體驗㊤ 「可……可以去歐洲玩?而且還有人出錢?太棒囉!」婕兒忍不住歡呼起來,把扳手拋呀拋的,旁邊的客人紛紛轉過來看。「好了啦!」耐耐忍不住害羞起來,輕輕敲了一下婕兒的頭

高捷少女:美麗島的守護者④ 光之穹頂的某處垃圾桶底,一個四方形的機器持續發出聲音,機器的儀表板上顯示著「1:25:10」的字樣,外表被一層鞭炮所掩蓋。儀表板的數字每秒不斷減少,細微的嗶嗶聲也隨著數字的改變發出,但在熙來攘往的美麗

高捷少女:耐耐的新年驚喜② 「各位,我跟爸媽聊完了……」耐耐走進客廳,看到大家在看自己的相簿,臉蛋立刻紅了。「哇啊啊,不要看那個!」她三步併作兩步地走向少女們,將相簿拿走。「為什麼啊?小時候的耐耐很可愛啊。」婕兒不解地說。

【想法】關於網路上的謾罵這檔事 網路是個自由的世界,每個人都享有平等的發言權,但是,請永遠記得,在網路上漫罵別人一定會留下證據的,就算之後刪文,你怎能確保對方沒有截圖存證?

【歌評】蓮台野夜行 - 少女秘封倶楽部 少女秘封俱樂部 我們的主角終於出場啦!這首歌一反蓮台野夜行的固有風格,總是華麗的開始又華麗的結束!