1

我能够很好地运行这些演示并在我的单元测试中构建一个图形构建器,但是现在当我部署它并在我的本地服务器上运行时,我在一些但不是所有我调用的查找上得到 NullPointerExceptions。

    ProjectController pc = Lookup.getDefault().lookup(ProjectController.class);
    pc.newProject();
    workspace = pc.getCurrentWorkspace();
    GraphController gc = Lookup.getDefault().lookup(GraphController.class);
    GraphModel model = gc.getModel();

下面的堆栈跟踪:

Caused by: java.lang.NullPointerException
at com.network.manager.impl.NetworkLayoutManagerImpl.initGraphModel(NetworkLayoutManagerImpl.java:167)
at com.network.manager.impl.NetworkLayoutManagerImpl.convertNetworkToGraph(NetworkLayoutManagerImpl.java:49)
at com.network.manager.impl.NetworkChartManagerImpl.buildNetworkGEXF(NetworkChartManagerImpl.java:61)
at com.network.controller.LoadNetworkControllerImpl.loadNodesAndEdges(LoadNetworkControllerImpl.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:341)
at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
... 139 more

在这种情况下,我的 GraphController "gc" 是 null,但是,我可以毫无问题地查找 ProjectController。出于好奇,我添加了我需要的其他控制器(AttributeController 和 ExportController)并将它们打印出来。

(ProjectController --- GraphController --- AttributeController --- ExportController)

System.err.println(pc + " --- " + gc + " --- " + ac + " --- " + ec);

给了我以下内容:

org.gephi.project.impl.ProjectControllerImpl@1b819521 --- null --- null --- org.gephi.io.exporter.impl.ExportControllerImpl@3412470a

我对 Lookup API 不太熟悉,所以这完全是个谜。我在 Tomcat 服务器上运行它。让我知道是否需要更多信息。

这里发布了一个类似的问题,gephi 论坛没有回应。

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

https://forum.gephi.org/viewtopic.php?t=1599

4

1 回答 1

1

查找取决于找到的文件META-INF/services。似乎 Tomcat 没有找到 GraphController 和 AttributeController 的。应该有与源文件中导入 GraphController 和 AttributeController 的方式类似的文件。

于 2015-07-21T08:47:52.597 回答