[精讚] [會員登入]
823

【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

你可能感興趣的文章

【!@#$%^&*()_+ language】!@#$%^&*()_+ 程式語言介紹 一款看起來像是在鬧的程式語言

【Vim】解決貼上文字時出現過多空格的問題 換了新系統,有時候就算重裝軟體並且複製了設定檔也還是會出現非常奇怪的現象

【Wicket】[URI]使用Java取得目前網址 這是個還滿常用的功能,可惜 Wicket 沒有內建函式可以快速取得我們要的部分,只能依靠我們自己後期的字串剖析

【Maven】如何創建一個簡單可執行的JAR檔 滿重要的一個小功能,畢竟有時候是要傳遞的是JAR檔,而不是直接透過Maven直接部屬之類的

【Discord bot】[botton]按鈕的使用、響應和關閉 Discord的botton通常都要和View配合使用。

【MEGAcmd】[Linux] 如何解決Unable to connect to service: error=2 用了好久的軟體突然停止一切的運作了。

隨機好文

高捷少女:小穹與果仁巧克力㊥ 艾咪臉上泛起笑容說:「妳知道嗎?就跟花語一樣,每一種巧克力也都有各自的涵義:薄荷巧克力代表初戀;卡通巧克力代表天真爛漫;而果仁巧克力代表的是窩心,還有想陪伴對方的心情,這在德國是女生之間在慶生時會彼此

高捷少女:購票大作戰③  歐巴桑露出懷疑的表情。「怎麼了,您跟夏尼爾小姐不是朋友嗎?只要打電話確認就好了,不是嗎?」「是……是這樣沒錯……可是……」小穹支支吾吾地說。我的確是潔西塔的朋友,但

高捷少女:耐耐的新年驚喜③ 即使如此,夫人仍然每年都會問老爺是否能空出一週時間,但總是被回絕,除了前年以外。老爺答應夫人一定會排出空檔,他們在去年的二十三日前往澳洲。」耐耐嘆了口氣。「那一天的晚上,我打電話給媽媽時,她很高興地告

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

【數學】線性規劃——題型演練 某公司招聘新員工,共有800人應徵參加筆試。筆試場地借用某高中教室,該校租借的大教室有42間,每間可容納40人,每間租金