1

最近我正在研究要使用的 p2p 框架,我遇到了 JXTA。太糟糕了,Oracle 决定放弃 JXTA。真是可惜了一个好软件。无论如何,我遇到的问题是尝试以集合模式启动节点。

NetworkManager manager = new NetworkManager(NetworkManager.ConfigMode.RENDEZVOUS,...);

当我调用 manager.startNetwork(); 时,我得到一个 NoClassDefFoundError;

它遇到问题的类是:org/jboss/netty/channel/socket/httptunnel/HttpTunnelClientChannelFactory

JXSE 2.7 附带 JBoss netty 3.1.5 GA jar 文件。在 Netty 的那个版本中确实没有这样的类。

有没有人成功运行了 JXSE 集合节点,JXSE 2.7 的正确 Netty jar 文件应该是什么?

4

3 回答 3

2

试试这个jar文件:http://files.cnblogs.com/cuizhf/httptunnel-0.92.rar

于 2011-10-24T01:56:47.870 回答
1

以下是如何构建一个包含正确类集的 netty JAR 以运行 JXSE 2.7:

  • 从这里下载 git 存储库: https ://github.com/iainmcgin/netty (我刚刚抓取了 zip 文件)

  • 使用 Maven 构建它:

    cd iainmcgin-netty-5f5c87b (or whatever the zip file gives you)
    
    mvn package
    
  • 构建对我来说失败了,我不得不在 pom.xml 文件的 </project> 标记之前添加以下 XML:

    <pluginRepositories> <pluginRepository> <id>JBoss Repo</id> <url>https://repository.jboss.org/nexus/content/repositories/releases</url> <name>JBoss Repo</name> </ pluginRepository>
    </pluginRepositories>

  • 我从 maven 收到了另一条失败消息,但它似乎在名为 target 的子文件夹中创建了 jar 文件。

  • 最后一步是确保在运行 JXTA 程序时,maven 刚刚构建的 jar 文件位于类路径中。(该文件名为 netty-4.0.0.Alpha1-SNAPSHOT.jar)。

于 2012-05-09T13:42:19.980 回答
0

有没有人成功运行了 JXSE 集合节点,JXSE 2.7 的正确 Netty jar 文件应该是什么?

是的,我确实做到了。依赖项在此处可用。在我看来,依赖项可能不在您的类路径上。

于 2011-10-07T22:22:35.533 回答