问题
Recently I was investigating p2p framework to use and I came across JXTA. Too bad, Oracle decided to dropped JXTA. Real shame for a nice software. Anyway the problem that I have is trying to start a node in rendezvous mode.
NetworkManager manager = new NetworkManager(NetworkManager.ConfigMode.RENDEZVOUS,...);
I'm getting a NoClassDefFoundError when I call manager.startNetwork();
The class it is having problem with is: org/jboss/netty/channel/socket/httptunnel/HttpTunnelClientChannelFactory
JXSE 2.7 came with JBoss netty 3.1.5 GA jar file. And there is really no such a class in that release of Netty.
Has anyone successfully ran a JXSE rendezvous node and what should be the right Netty jar file with JXSE 2.7?
回答1:
try this jar file :http://files.cnblogs.com/cuizhf/httptunnel-0.92.rar
回答2:
Here is how you can build a netty JAR with the correct set of classes in it to run JXSE 2.7:
Download the git repository from here: https://github.com/iainmcgin/netty (I just grabbed the zip file)
Build it using maven:
cd iainmcgin-netty-5f5c87b (or whatever the zip file gives you) mvn package
The build failed for me and I had to add the following XML to the pom.xml file, before the </project> tag:
<pluginRepositories> <pluginRepository> <id>JBoss Repo</id> <url>https://repository.jboss.org/nexus/content/repositories/releases</url> <name>JBoss Repo</name> </pluginRepository>
</pluginRepositories>I got another fail message from maven, but it seemed to create the jar file OK in a subfolder named target.
Final step is to make sure the jar file maven just built is in your classpath when running your JXTA programs. (the file is called netty-4.0.0.Alpha1-SNAPSHOT.jar).
回答3:
Has anyone successfully ran a JXSE rendezvous node and what should be the right Netty jar file with JXSE 2.7?
Yes, I sure did. The dependencies are available here. It seems to me that the dependencies may not be on your class path.
来源:https://stackoverflow.com/questions/7466735/jxta-jxse-2-7-with-broken-jboss-netty-library-dependency