亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 IntelliJ 引用 jar 庫導致 ClassNotFoundException

使用 IntelliJ 引用 jar 庫導致 ClassNotFoundException

RISEBY 2023-05-17 16:37:25
我正在為我的世界編譯一個插件,它基本上在登錄時播放一首歌曲。我的代碼使用這個外部 jar 來完成這項工作:package com.iqbrod.excilysplugin;import net.mcjukebox.plugin.bukkit.api.JukeboxAPI;import net.mcjukebox.plugin.bukkit.api.ResourceType;import net.mcjukebox.plugin.bukkit.api.models.Media;import org.bukkit.event.EventHandler;import org.bukkit.event.Listener;import org.bukkit.event.player.PlayerJoinEvent;public class LoginListener implements Listener {? ? @EventHandler? ? public void onPlayerJoin(PlayerJoinEvent event) {? ? ? ? Media media = new Media(ResourceType.MUSIC, "https://od.lk/s/MTFfMjQ2ODM2NTRf/music1.mp3");? ? ? ? JukeboxAPI.play(event.getPlayer(), media);? ? }}此代碼是正確的,應該在PlayerJoinEvent. 我的問題來自對 jar 的編譯,其中包含:com/* #Source codelib/* #external Jars (MC_Jukebox)plugin.yml #required by Minecraft ServerMETA-INF/MANIFEST.MF #details below源代碼com/*是基本的 Java,與現有的插件/代碼相比是正確的。Lib包含我的庫 jar。plugin.yml是正確的并且在沒有對 lib 類的引用的情況下工作。MANIFEST.MF是Manifest-Version: 1.0Main-Class: EntryPointClass-Path: lib/問題即使在運行服務器和客戶端的類路徑中引用也會導致libMANIFEST[13:26:27] [Server thread/ERROR]: Could not pass event PlayerJoinEvent to ExcilysPlugin v1.0 org.bukkit.event.EventException: null(...)Caused by: java.lang.NoClassDefFoundError: net/mcjukebox/plugin/bukkit/api/models/Media(...)Caused by: java.lang.ClassNotFoundException: net.mcjukebox.plugin.bukkit.api.models.Media如何在文件夾下引用我的 jar 中包含的 jar lib?我正在使用Intellij進行編碼和編譯。我讀了這篇文章,也嘗試使用“提取文件夾”。兩者都會導致 ClassNotFoundException。
查看完整描述

2 回答

?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

MANIFEST 中的 jars 引用指向本地目錄 ( .minecraft/plugins/) 而不是源代碼目錄。

要解決這個問題:我的外部罐子在.minecraft/plugins/lib而不是.minecraft/plugins/myplugin/lib。
另一種解決方案是將這些罐子MANIFEST.mf指向

類路徑:myplugin/lib


查看完整回答
反對 回復 2023-05-17
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

在您的情況下,您必須在服務器上安裝 McJukebox 插件,運行您自己的自定義插件。我想否則,您的插件將無法工作。一般來說,導出包含插件所需類的源/jar 文件就足夠了。您還可以通過函數加載 jar。



查看完整回答
反對 回復 2023-05-17
  • 2 回答
  • 0 關注
  • 159 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號