gpt4 book ai didi

java - JUNG VisualizationImageServer 初始化时出现 ArrayStoreException

转载 作者:行者123 更新时间:2023-12-02 11:32:53 27 4
gpt4 key购买 nike

我正在尝试运行一个基本的 JUNG 图示例 - 我能够在独立的 java 程序中运行以下代码,但是当我将相同的代码放入使用 Maven 构建的服务器端 jar 中时,它失败了VisualizationImageServer 初始化时出现 ArrayStoreException:

public Response getGraph() throws IOException {
//log.info("Starting graph rendering");
try {
DirectedSparseGraph<String, Number> g = new DirectedSparseGraph();
String[] v = createVertices(10);
createEdges(v);
vv = new VisualizationImageServer<String,Number>(new KKLayout<String,Number>(graph), new Dimension(600,600));
renderGraph(vv);
...}

此行失败:

        vv =  new VisualizationImageServer<String,Number>(new KKLayout<String,Number>(graph), new Dimension(600,600)); 

错误消息片段:

java.lang.ArrayStoreException: edu.uci.ics.jung.algorithms.layout.KKLayout
at edu.uci.ics.jung.visualization.layout.ObservableCachingLayout.<init>(ObservableCachingLayout.java:50)
at edu.uci.ics.jung.visualization.DefaultVisualizationModel.setGraphLayout(DefaultVisualizationModel.java:91)
at edu.uci.ics.jung.visualization.DefaultVisualizationModel.<init>(DefaultVisualizationModel.java:74)
at edu.uci.ics.jung.visualization.BasicVisualizationServer.<init>(BasicVisualizationServer.java:150)
at edu.uci.ics.jung.visualization.VisualizationImageServer.<init>(VisualizationImageServer.java:40)

最佳答案

我最好的猜测是,在您的服务器端代码中,您有多个相互冲突的 jung 版本。在 jung-visualization 2.0 版中 ObservableCachingLayout 的第 50 行,委托(delegate) (KKLayout) 被添加到 org.apache.commons.collections15.Transformer[] 数组,因为 KKLayout 委托(delegate)是(应该是)Transformer 的实例。您的数组存储异常调用了 KKLayout 作为问题,让我认为 ObservableCachingLayout 的早期版本 2.0 正在获取版本 2.1 或更高版本 KKLayout 委托(delegate)(来自 jung-algorithms)不是 Transformer,而是一个 com.google.common.base.Function。我无法验证这是否是实际问题,但我相信该理论解决了您所看到的特定错误的可能原因。

关于java - JUNG VisualizationImageServer 初始化时出现 ArrayStoreException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49161735/

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