解决IntelliJ IDEA中javazoom.jl.player.Player找不到的问题
解决IntelliJ IDEA中Java播放MP3时的
NoClassDefFoundError问题 错误现象
运行Java播放MP3的代码时,控制台抛出类未找到错误,核心栈信息如下:
"C:\Program Files\Java\jdk-20\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.1.4\lib\idea_rt.jar=29134:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.1.4\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\Kostya\java\Media_player\Media_player\build\classes\java\main org.noname.Media_player.MediaPlayer Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javazoom/jl/player/Player at org.noname.Media_player.playlist.sound_the_song(playlist.java:94) at org.noname.Media_player.playlist$1.actionPerformed(playlist.java:74) ... Caused by: java.lang.ClassNotFoundException: javazoom.jl.player.Player at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 37 more
错误触发代码行:Player player = new Player(in);,本质是项目类路径中缺失JLayer音频库的依赖。
解决方法
方法1:通过构建工具自动添加依赖
如果项目使用Maven或Gradle管理依赖,直接添加对应配置即可:
- Maven:在
pom.xml的<dependencies>块中加入:
<dependency> <groupId>javazoom</groupId> <artifactId>jlayer</artifactId> <version>1.0.1</version> </dependency>
- Gradle:在
build.gradle的dependencies块中加入:
implementation 'javazoom:jlayer:1.0.1'
添加完成后,点击IntelliJ右上角的构建刷新按钮,工具会自动下载并将依赖加入类路径。
方法2:手动导入JAR包
如果不使用构建工具,可手动添加JAR包:
- 获取JLayer的JAR包(对应版本1.0.1)
- 在IntelliJ项目根目录创建
lib文件夹,将JAR包复制进去 - 右键点击该JAR包 → 选择
Add as Library...,在弹窗中选择当前模块,确认添加 - 重新运行项目,类路径会包含该依赖,错误即可修复
内容的提问来源于stack exchange,提问作者Deadli_wolf
相关产品推荐
相关产品推荐

