gpt4 book ai didi

java - 使用工具包将图形流式传输到 Gephi : NullPointerException

转载 作者:太空宇宙 更新时间:2023-11-04 14:52:22 33 4
gpt4 key购买 nike

我正在尝试创建一个普通图形并使用 Gephi 工具包将其流式传输到 Gephi GUI。我正在关注工具包和流媒体插件教程。我很难让我的代码正常工作,因为查找 API 没有返回有效值。在调试时,我发现下面的两个 Lookup 方法都返回 null 值,因此我在使用这些对象访问其他方法时遇到问题。

StreamingServer 服务器 = Lookup.getDefault().lookup(StreamingServer.class);

ServerControllerFactorycontrollerFactory = Lookup.getDefault().lookup(ServerControllerFactory.class);

由于“server”或“controllerFactory”均为 null,因此使用“server”或“controllerFactory”对象访问任何方法都会抛出 NullPointerException。例如,位于:

ServerController serverController = controllerFactory.createServerController(graph);server.register(serverController, 上下文);

这是我的代码:

//Init a project - and therefore a workspace
ProjectController pc = Lookup.getDefault().lookup(ProjectController.class);
pc.newProject();
Workspace workspace = pc.getCurrentWorkspace();

// Get the graph instance
GraphController graphController = Lookup.getDefault().lookup(GraphController.class);
GraphModel graphModel = graphController.getModel();
Graph graph = graphModel.getGraph();

//Add sample graph structure data
Node n1;
Node n2;
n1 = graphModel.factory().newNode();
n2 = graphModel.factory().newNode();
Edge edge = graphModel.factory().newEdge(n1, n2);

graph.addNode(n1);
graph.addNode(n2);
graph.addEdge(edge);

n1.getNodeData().setLabel("Node 1");
n2.getNodeData().setLabel("Node 2");
edge.getEdgeData().setLabel("Edge 1");

System.out.println(graph.getNodeCount() + " nodes");
System.out.println(graph.getEdgeCount() + " edges");
System.out.println();


StreamingServer server = Lookup.getDefault().lookup(StreamingServer.class);

ServerControllerFactory controllerFactory = Lookup.getDefault().lookup(ServerControllerFactory.class);
ServerController serverController = controllerFactory.createServerController(graph);

String context = "/mycontext";
server.register(serverController, context);

任何解决此问题的意见都会有所帮助。

最佳答案

如果 gephi 工具包的 META-inf/services 文件夹不可访问,则可能会发生这种情况;例如当你合并 jar 时;等等,当您尝试进行服务器端部署时尤其常见。

附:类文件在那里;所以不会抛出 Class Not Found 异常;但无法找到服务;欲了解更多信息,请参阅 http://docs.oracle.com/javase/7/docs/api/java/util/ServiceLoader.html

关于java - 使用工具包将图形流式传输到 Gephi : NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23641359/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com