java和jxta刚开始学,编了一个程序HelloWorld如下:
import net.jxta.peergroup.PeerGroup;
import net.jxta.peergroup.PeerGroupFactory;
import net.jxta.exception.PeerGroupException;
public class HelloWorld {
static PeerGroup group = null;
public static void main(String args[]){
HelloWorld myapp=new HelloWorld();
myapp.startJxta();
System.exit(0);
}
private void startJxta() {
try {
group = PeerGroupFactory.newNetPeerGroup();
}
catch (PeerGroupException e) {
System.out.println("fatal error : group creation failure");
System.exit(1);
}
System.out.println("Started Hello World"); }
}
使用了j2sdk1.4.2,安装在C:\,在j2sdk1.4.2里建立了net\jxta\peergroup和net\jxta\exception目录并拷有相应引用class,在Windows XP命令行里输入javac HelloWorld.java可以通过并生成HelloWorld.class,但输入java HelloWorld报错如下:
Exception in thread "main" java.lang.NoClassDefFoundError:org/apache/log4j/Priority
at HelloWorld.startJxta(HelloWorld.java:19)
at HelloWorld.main(HelloWorld.java:12)
到底是什么地方出错了,请高手帮忙!!
import net.jxta.peergroup.PeerGroup;
import net.jxta.peergroup.PeerGroupFactory;
import net.jxta.exception.PeerGroupException;
public class HelloWorld {
static PeerGroup group = null;
public static void main(String args[]){
HelloWorld myapp=new HelloWorld();
myapp.startJxta();
System.exit(0);
}
private void startJxta() {
try {
group = PeerGroupFactory.newNetPeerGroup();
}
catch (PeerGroupException e) {
System.out.println("fatal error : group creation failure");
System.exit(1);
}
System.out.println("Started Hello World"); }
}
使用了j2sdk1.4.2,安装在C:\,在j2sdk1.4.2里建立了net\jxta\peergroup和net\jxta\exception目录并拷有相应引用class,在Windows XP命令行里输入javac HelloWorld.java可以通过并生成HelloWorld.class,但输入java HelloWorld报错如下:
Exception in thread "main" java.lang.NoClassDefFoundError:org/apache/log4j/Priority
at HelloWorld.startJxta(HelloWorld.java:19)
at HelloWorld.main(HelloWorld.java:12)
到底是什么地方出错了,请高手帮忙!!
jxta相应的包到工程吧。
路径不对??~~~~~~~~
to xjlz0001(星际浪子0001) :怎么直接写路径,我试过多种方法,甚至把类都拷到同一目录下还是有问题,这个“org/apache/log4j/Priority"不知是什么?
net\jxta\exception目录并拷有相应引用classimport net.jxta.peergroup.PeerGroup;
import net.jxta.peergroup.PeerGroupFactory;
import net.jxta.exception.PeerGroupException;
是以Jar包的形式组织引入的,你拷相应引用class是不能运行的.
我也使编译成功了,运行和他是一样的错误
java.lang.NoClassDefFoundError 是 Java 無法在所給予的 classpath 中找到提及的類別或介面的定義,因而丟出的執行時期例外。這個錯誤通常是因為 classpath 的設定錯誤而丟出的。
如果這個錯誤被丟出,請確定你在 classpath 中有包含目前的目錄( 以句點 . 表示)。所有在套件中的使用者定義類別也應該在 classpath 中。也請確定你的路徑有參考到 Java 類別庫檔案,位於 JDK 軟體安裝目錄的 bin 目錄中。
在 Solaris 環境中
set PATH=${PATH}:/usr/java/bin
set CLASSPATH=.:/usr/java/lib/下列的程式碼可以檢查你的 JVM 軟體使用什麼 classpath:public void displayClassPath()
{
try
{
System.out.println(System.getProperty("java.class.path"));
}
catch(Throwable t)
{
t.printStackTrace();
}
}如果你使用 java Test.java 命令來執行類別,也會丟出這個錯誤。這個應該是使用 java Test,因為類別名稱是 Test 而不是 Test.java,而這是引數 JVM 會搜尋的正規值。
1。给系统,或者开发的IDE环境里面追加你要用的Jar的路径或者文件。
2。用java命令来启动的时候,用-classpath这个参数也可以,把你的那个jar文件放在后面就可以了。
去下载Log4j的包,添加到你的Classpath里面,就可以了。