gpt4 book ai didi

java - graphstream.Graph 类中的问题

转载 作者:行者123 更新时间:2023-12-05 07:47:42 27 4
gpt4 key购买 nike

我正在使用 org.graphstream.graph 库使用 graphstream 绘制图形(带经纬度)。

import org.graphstream.graph.*;

下面是显示图表的代码。

public static void displayGraph(){
System.setProperty("gs.ui.renderer","org.graphstream.ui.j2dviewer.J2DGraphRenderer");
Graph graph = new MultiGraph("Test");
try{
graph.read("data/fullGraph2sc.dgs");
}
catch (Exception e){
e.printStackTrace();
}

graph.addAttribute("ui.stylesheet",styleSheet);
graph.addAttribute("ui.quality");
graph.addAttribute("ui.antialias");
graph.display(false);
}

包括必要的 ui 文件。我在 pom.xml 中也有:

    <!-- https://mvnrepository.com/artifact/org.graphstream/gs-core -->
<dependency>
<groupId>org.graphstream</groupId>
<artifactId>gs-core</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.graphstream/gs-algo -->
<dependency>
<groupId>org.graphstream</groupId>
<artifactId>gs-algo</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.graphstream/gs-ui -->
<dependency>
<groupId>org.graphstream</groupId>
<artifactId>gs-ui</artifactId>
<version>1.3</version>
</dependency>

问题是当我在 Intellij 中运行这段代码时它没有给出任何问题。但是,当我尝试使用命令行运行时,出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/graphstream/graph/Graph
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
at java.lang.Class.getMethod0(Class.java:2774)
at java.lang.Class.getMethod(Class.java:1663)
at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
Caused by: java.lang.ClassNotFoundException: org.graphstream.graph.Graph
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 6 more

现在我有两个问题要问: 1) 我如何使用命令行执行并显示完整的错误(我无法调试,因为......还有 6 个;它没有告诉确切的问题所在。)2) 为什么我只在命令行执行时出现上述错误?

最佳答案

1) 首先,找到您的.m2 目录。当 Maven 获取 pom 中指定的依赖项时,它会将它们放在一个名为 .m2 的文件夹中,该文件夹位于您的 /Users/username (或类似的主目录,如果您在 window )。这就是 graphstream 类所在的位置。有关 .m2 文件夹的更多引用,请查看 this Mykong post .要解决 NoClassDefFoundError,请在您的类路径中包含以下 jar:

/{.M2_LOCATION}/.m2/repository/org/graphstream/gs-core/1.3/gs-core-1.3.jar
/{.M2_LOCATION}/.m2/repository/org/graphstream/pherd/1.0/pherd-1.0.jar
/{.M2_LOCATION}/.m2/repository/org/graphstream/mbox2/1.0/mbox2-1.0.jar

2) 它在 IntelliJ 中运行良好的原因是 IntelliJ 会自动将这些 jar(通常还有很多其他的)包含在您的类路径中。要了解 IntelliJ 在幕后做了什么,请查看当您点击“运行”时打开的对话框 Pane 中的第一行文本 - 这是 IntelliJ 正在使用的命令行。

关于java - graphstream.Graph 类中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39423921/

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