要学习JXTA来开发p2p攻略。别急,先看看本文章,把HelloWorld调通了才行:)
对于许多刚学JXTA的程序员,很多人都遇到HelloWorld的各种运行和调试问题。本文带您一步步搞定HelloWorld。
1.下载JDK 1.6;NetBean5.5多国语言版;JXTA 2.4.1(或者JXTA2.5)
2.安装JDK1.6;netBean5.5.具体的安装过程和注意点,我就不用多说了吧。网上一大堆介绍的。
3.把JXTA 2.4.1解压缩到任意一个目录下(比如“C:/jxta-lib-2.4.1”);
4.在netBean中新建HelloWorld文件。添加外部库jxta.jar.
代码如下:
import net.jxta.peergroup.*;
import net.jxta.peergroup.NetPeerGroupFactory;
import net.jxta.peergroup.WorldPeerGroupFactory;
import net.jxta.exception.PeerGroupException;
public class HelloWorld {
static PeerGroup netPeerGroup = null;
public static void main(String args[]) {
System.out.println("Starting JXTA...");
HelloWorld myapp = new HelloWorld();
myapp.startJxta();
System.out.println("Group ID = "+ netPeerGroup.getPeerGroupID().toString() );
System.out.println("Peer name = "+ netPeerGroup.getPeerGroupName() );
System.out.println("Peer ID = "+ netPeerGroup.getPeerID().toString() );
System.out.println(" Good Bye .... " );
//对等点应用
myapp.netPeerGroup.stopApp();
System.exit(0);
}
private void startJxta()
{
try
{//创建默认的JXTA NetPeerGroup
this.netPeerGroup =(new NetPeerGroupFactory()).getWeakInterface();
}catch(Exception e )
{
//如果出现异常,打印出错信息并退出
System.out.println("fatal error:group creation failure");
e.printStackTrace();
System.exit(1);
}
}
}
5.生成-->生成主项目。没问题。(高兴了吧)
注意下面输出的红色字体“To run this application from the command line without Ant, try:
java -jar "E:/netBean/jxtaex2/dist/jxtaex2.jar"”
表示:在netBean目录下运行,将会运行对应的ant单元;如果改为在cmd下面运行,将避免ant测试单元带来的问题。(本人比较喜欢在cmd下面运行,IDE下调试)。
6.按F6或者“运行”-->“运行主项目”(这个时候你一定在期待成功了 吧:))
7.发现有错误Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Priority
at HelloWorld.startJxta(HelloWorld.java:28)
at HelloWorld.main(HelloWorld.java:13)
Java Result: 1
这个错误在我前面的一篇博客文章中有说明。主要原因是我们没有把对应需要的JXTA包都添加进来。
解决办法就是在“添加外部JAR”的时候,不要怕麻烦。把所有的和JXTA相关的包都添加到路径中来。
8.再次按按F6或者“运行”-->“运行主项目”
成功了吧:)
输出内容为:
Starting JXTA...Group ID = urn:jxta:jxta-NetGroup
Peer name = NetPeerGroup
Peer ID = urn:jxta:uuid-59616261646162614A787461503250333AFB9E25146847D5A0539692EEC1844003
Good Bye ....
生成成功(总时间:4 秒)
总结:希望这篇文章能给刚刚想学习JXTA的朋友们有所帮助。
对于许多刚学JXTA的程序员,很多人都遇到HelloWorld的各种运行和调试问题。本文带您一步步搞定HelloWorld。
1.下载JDK 1.6;NetBean5.5多国语言版;JXTA 2.4.1(或者JXTA2.5)
2.安装JDK1.6;netBean5.5.具体的安装过程和注意点,我就不用多说了吧。网上一大堆介绍的。
3.把JXTA 2.4.1解压缩到任意一个目录下(比如“C:/jxta-lib-2.4.1”);
4.在netBean中新建HelloWorld文件。添加外部库jxta.jar.
代码如下:
import net.jxta.peergroup.*;
import net.jxta.peergroup.NetPeerGroupFactory;
import net.jxta.peergroup.WorldPeerGroupFactory;
import net.jxta.exception.PeerGroupException;
public class HelloWorld {
static PeerGroup netPeerGroup = null;
public static void main(String args[]) {
System.out.println("Starting JXTA...");
HelloWorld myapp = new HelloWorld();
myapp.startJxta();
System.out.println("Group ID = "+ netPeerGroup.getPeerGroupID().toString() );
System.out.println("Peer name = "+ netPeerGroup.getPeerGroupName() );
System.out.println("Peer ID = "+ netPeerGroup.getPeerID().toString() );
System.out.println(" Good Bye .... " );
//对等点应用
myapp.netPeerGroup.stopApp();
System.exit(0);
}
private void startJxta()
{
try
{//创建默认的JXTA NetPeerGroup
this.netPeerGroup =(new NetPeerGroupFactory()).getWeakInterface();
}catch(Exception e )
{
//如果出现异常,打印出错信息并退出
System.out.println("fatal error:group creation failure");
e.printStackTrace();
System.exit(1);
}
}
}
5.生成-->生成主项目。没问题。(高兴了吧)
注意下面输出的红色字体“To run this application from the command line without Ant, try:
java -jar "E:/netBean/jxtaex2/dist/jxtaex2.jar"”
表示:在netBean目录下运行,将会运行对应的ant单元;如果改为在cmd下面运行,将避免ant测试单元带来的问题。(本人比较喜欢在cmd下面运行,IDE下调试)。
6.按F6或者“运行”-->“运行主项目”(这个时候你一定在期待成功了 吧:))
7.发现有错误Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Priority
at HelloWorld.startJxta(HelloWorld.java:28)
at HelloWorld.main(HelloWorld.java:13)
Java Result: 1
这个错误在我前面的一篇博客文章中有说明。主要原因是我们没有把对应需要的JXTA包都添加进来。
解决办法就是在“添加外部JAR”的时候,不要怕麻烦。把所有的和JXTA相关的包都添加到路径中来。
8.再次按按F6或者“运行”-->“运行主项目”
成功了吧:)
输出内容为:
Starting JXTA...Group ID = urn:jxta:jxta-NetGroup
Peer name = NetPeerGroup
Peer ID = urn:jxta:uuid-59616261646162614A787461503250333AFB9E25146847D5A0539692EEC1844003
Good Bye ....
生成成功(总时间:4 秒)
总结:希望这篇文章能给刚刚想学习JXTA的朋友们有所帮助。