[精讚] [會員登入]
846

【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

你可能感興趣的文章

【C++】SFML安裝於Microsoft Visual Studio 2019 此方法僅適用單個C++專案,因為一次就適用整台電腦的方式有人寫了,而且寫得非常不錯。

【Javascript】(Event)常用的網頁事件 不寫下來絕對下又會忘記,然後每次又都要回到MDN去查,麻煩

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

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

【Maven】[Wicket](Java) 如何部署Wicket到Wildfly內 Wicket 是一個 Java 下的套件,換言之,我們的網頁伺服器後端是由 Java 來撰寫的

【JDA/discord bot】如何獲得訊息中的圖片和影片並儲存或轉傳 如何將訊息中的圖片或影片之類的多媒體提取出來之後,再進行相關的處理

隨機好文

【分享、整合串】什麼?!高捷少女竟然有二創小說!! 由時零宇宙大大在巴哈上面連載的二創高捷少女小說,就讓我們來看看,究竟在時零大大的巧手下,高捷少女們會擦出什麼樣的火花吧!

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

婕兒──她的青春② 艾米直搖頭。「我真不敢相信,小穹妳都二十幾歲了,為什麼能想出這種故事呀?」「婕兒也是二十幾歲啊,妳想想她現在是什麼樣子?」小穹不滿地指向火車的方向。

艾米莉亞和高捷戀旅② 七點三十五分了。 「快到粉絲團!快!」小穹慌張地說,婕兒、耐耐也湊向手機。雖然她們沒有報名,不過也希望亦晨參賽,不免著急起來。 「亦晨?妳的報名序號是多少?」艾米快速滑動手機。合格的參賽者姓名和序號都

艾米莉亞和高捷戀旅④ 來到一號出口以後,艾米看到另外三位參賽者,她與心研便站到他們旁邊。   「這一站的競賽是『