run:
java.lang.NoClassDefFoundError: music/Test (wrong name: music/test)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: music.Test. Program will exit.
Exception in thread "main"
Exception in thread "main" Java Result: 1
jmf包都跟jdk安装都在同一个包了。语法也没错,就运行时出错。
10 个解决方案
#1
这是我测试的代码,运行后就报错了
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;
import java.io.File;
import java.io.IOException;
import javax.media.*;
class test
{
public static void main(String[] args)
{
frame myframe=new frame();
myframe.setSize(500,500);
myframe.setVisible(true);
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myframe.setLocation(500,500);
}
}
class frame extends JFrame implements ControllerListener {
Player myPlayer=null;
URL url=null;
File file=new File("F:\\a.mp3");
Component vc,cc;
Panel mypanel=new Panel();
public frame()
{
try {
url=file.toURI().toURL();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
myPlayer=Manager.createPlayer(url);
} catch (NoPlayerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.add(mypanel);
myPlayer.addControllerListener(this);
myPlayer.prefetch();
}
public void controllerUpdate (ControllerEvent e)
{
//如果是Player达到prefect状态,则开始
if (e instanceof PrefetchCompleteEvent)
{
myPlayer.start ();
return;
}
//如果是已经完成实例,则加入控制面板,视频面板
if (e instanceof RealizeCompleteEvent)
{
vc = myPlayer.getVisualComponent ();
if (vc != null)
add(vc);
cc = myPlayer.getControlPanelComponent ();
if (cc != null)
add(cc, BorderLayout.SOUTH);
pack();
}
}
}
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;
import java.io.File;
import java.io.IOException;
import javax.media.*;
class test
{
public static void main(String[] args)
{
frame myframe=new frame();
myframe.setSize(500,500);
myframe.setVisible(true);
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myframe.setLocation(500,500);
}
}
class frame extends JFrame implements ControllerListener {
Player myPlayer=null;
URL url=null;
File file=new File("F:\\a.mp3");
Component vc,cc;
Panel mypanel=new Panel();
public frame()
{
try {
url=file.toURI().toURL();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
myPlayer=Manager.createPlayer(url);
} catch (NoPlayerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.add(mypanel);
myPlayer.addControllerListener(this);
myPlayer.prefetch();
}
public void controllerUpdate (ControllerEvent e)
{
//如果是Player达到prefect状态,则开始
if (e instanceof PrefetchCompleteEvent)
{
myPlayer.start ();
return;
}
//如果是已经完成实例,则加入控制面板,视频面板
if (e instanceof RealizeCompleteEvent)
{
vc = myPlayer.getVisualComponent ();
if (vc != null)
add(vc);
cc = myPlayer.getControlPanelComponent ();
if (cc != null)
add(cc, BorderLayout.SOUTH);
pack();
}
}
}
#2
你是怎么运行程序的?用命令行?
#3
jmf写mp3播放器需要额外的支持mp3播放的插件jar包。你加了吗?
#4
最快的JAVA版的MP3解码器,开源的。
http://lfp001.iteye.com/blog/739585
呵呵~~
http://lfp001.iteye.com/blog/739585
呵呵~~
#5
本人用netbeans编译的,运行时出现在上面的错误,
#6
javamp3-1_0.zip是不是这个,这个是sun网上下载的,这个只有78k多
#7
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-client-419417.html#javamp3-1_0-oth-JPR
Java MP3 Plugin 1.0部分
说这个,看你的代码,没有使用到这个插件。
#8
或许是这样把
#9
也就是说我不需要导入那个插件包了,因为没用到?、?
#10
JMF里面有一个PlugInManager类,我理解它是用来管理各种解码插件的,需要把mp3解码插件jar包加入到PlugInManager管理,才能正常播放mp3插件。不过我不知道我理解的有没有误,我写的小例子确实能播放mp3。
#1
这是我测试的代码,运行后就报错了
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;
import java.io.File;
import java.io.IOException;
import javax.media.*;
class test
{
public static void main(String[] args)
{
frame myframe=new frame();
myframe.setSize(500,500);
myframe.setVisible(true);
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myframe.setLocation(500,500);
}
}
class frame extends JFrame implements ControllerListener {
Player myPlayer=null;
URL url=null;
File file=new File("F:\\a.mp3");
Component vc,cc;
Panel mypanel=new Panel();
public frame()
{
try {
url=file.toURI().toURL();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
myPlayer=Manager.createPlayer(url);
} catch (NoPlayerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.add(mypanel);
myPlayer.addControllerListener(this);
myPlayer.prefetch();
}
public void controllerUpdate (ControllerEvent e)
{
//如果是Player达到prefect状态,则开始
if (e instanceof PrefetchCompleteEvent)
{
myPlayer.start ();
return;
}
//如果是已经完成实例,则加入控制面板,视频面板
if (e instanceof RealizeCompleteEvent)
{
vc = myPlayer.getVisualComponent ();
if (vc != null)
add(vc);
cc = myPlayer.getControlPanelComponent ();
if (cc != null)
add(cc, BorderLayout.SOUTH);
pack();
}
}
}
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;
import java.io.File;
import java.io.IOException;
import javax.media.*;
class test
{
public static void main(String[] args)
{
frame myframe=new frame();
myframe.setSize(500,500);
myframe.setVisible(true);
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myframe.setLocation(500,500);
}
}
class frame extends JFrame implements ControllerListener {
Player myPlayer=null;
URL url=null;
File file=new File("F:\\a.mp3");
Component vc,cc;
Panel mypanel=new Panel();
public frame()
{
try {
url=file.toURI().toURL();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
myPlayer=Manager.createPlayer(url);
} catch (NoPlayerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.add(mypanel);
myPlayer.addControllerListener(this);
myPlayer.prefetch();
}
public void controllerUpdate (ControllerEvent e)
{
//如果是Player达到prefect状态,则开始
if (e instanceof PrefetchCompleteEvent)
{
myPlayer.start ();
return;
}
//如果是已经完成实例,则加入控制面板,视频面板
if (e instanceof RealizeCompleteEvent)
{
vc = myPlayer.getVisualComponent ();
if (vc != null)
add(vc);
cc = myPlayer.getControlPanelComponent ();
if (cc != null)
add(cc, BorderLayout.SOUTH);
pack();
}
}
}
#2
你是怎么运行程序的?用命令行?
#3
jmf写mp3播放器需要额外的支持mp3播放的插件jar包。你加了吗?
#4
最快的JAVA版的MP3解码器,开源的。
http://lfp001.iteye.com/blog/739585
呵呵~~
http://lfp001.iteye.com/blog/739585
呵呵~~
#5
本人用netbeans编译的,运行时出现在上面的错误,
#6
javamp3-1_0.zip是不是这个,这个是sun网上下载的,这个只有78k多
#7
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-client-419417.html#javamp3-1_0-oth-JPR
Java MP3 Plugin 1.0部分
说这个,看你的代码,没有使用到这个插件。
#8
或许是这样把
#9
也就是说我不需要导入那个插件包了,因为没用到?、?
#10
JMF里面有一个PlugInManager类,我理解它是用来管理各种解码插件的,需要把mp3解码插件jar包加入到PlugInManager管理,才能正常播放mp3插件。不过我不知道我理解的有没有误,我写的小例子确实能播放mp3。