我知道关于这个话题已经有一些讨论,但是似乎都没有对我有帮助。
我已经安装了 Java JDK:
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
当我尝试运行时,./bin/gephi
启动画面弹出,然后它终止。
如果我运行,./bin/gephi -h
我会得到以下输出:
Exception in thread "main" java.lang.IllegalStateException: java.lang.IllegalAccessException: Class org.openide.util.WeakListenerImpl$ProxyListener can not access a member of class org.openide.filesystems.$Proxy0 with modifiers "public"
at org.openide.util.WeakListenerImpl$ProxyListener.<init>(WeakListenerImpl.java:423)
at org.openide.util.WeakListenerImpl.create(WeakListenerImpl.java:164)
at org.openide.util.WeakListeners.create(WeakListeners.java:271)
at org.openide.filesystems.MultiFileObject.<init>(MultiFileObject.java:125)
at org.openide.filesystems.MultiFileObject.<init>(MultiFileObject.java:142)
at org.openide.filesystems.MultiFileSystem.getMultiRoot(MultiFileSystem.java:267)
at org.openide.filesystems.MultiFileSystem.findResource(MultiFileSystem.java:355)
at org.openide.filesystems.FileUtil.getConfigFile(FileUtil.java:2276)
at org.openide.filesystems.FileUtil.getConfigRoot(FileUtil.java:2306)
at org.netbeans.core.startup.CLICoreBridge.usage(CLICoreBridge.java:107)
at org.netbeans.CLIHandler.showHelp(CLIHandler.java:162)
at org.netbeans.CLIHandler.checkHelp(CLIHandler.java:216)
at org.netbeans.CLIHandler.initialize(CLIHandler.java:567)
at org.netbeans.CLIHandler.initialize(CLIHandler.java:383)
at org.netbeans.MainImpl.execute(MainImpl.java:190)
at org.netbeans.MainImpl.main(MainImpl.java:85)
at org.netbeans.Main.main(Main.java:78)
Caused by: java.lang.IllegalAccessException: Class org.openide.util.WeakListenerImpl$ProxyListener can not access a member of class org.openide.filesystems.$Proxy0 with modifiers "public"
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:102)
at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:296)
at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:288)
at java.lang.reflect.Constructor.newInstance(Constructor.java:412)
at org.openide.util.WeakListenerImpl$ProxyListener.<init>(WeakListenerImpl.java:413)
... 16 more
我尝试将gephi.conf
文件更改为指向我的 JDK 路径。我的JAVA_HOME
路径是:JAVA_HOME=/usr/local/jdk1.8.0_40
- 但没有成功。
我该如何继续?
答案1
安装 Java 7 而不是 Java 8(卸载 Java 8),格菲Java 7 似乎存在一些问题。
答案2
正如所述Gephi - 开放图谱可视化平台,不要使用 OpenJDK:\
- 使用最新的官方 JRE 包(更新 25+)更新您的发行版,不要使用 OpenJDK。
- 下载完成后,解压缩并将文件解压到目录中。
- 通过执行
./bin/gephi
脚本文件来运行它。
和
OpenJDK 不受支持,请确保从 Oracle 网站运行官方 Java 6 版本。
Gephi 可能能够从 OpenJDK 启动,但大多数情况下图形窗口将无法加载。
因此在这种情况下您应该使用 Oracle Java(Oracle Java 8 在我的测试中不起作用)
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
如果你不喜欢 Oracle Java 作为你的默认 Java,请编辑你gephi.conf
的gephi/etc
nano gephi/etc/gephi.conf
并设置jdkhome
jdkhome="/usr/lib/jvm/java-7-oracle/"
答案3
如果您有多个 Java 版本,请使用以下命令:
./gephi --jdkhome /usr/lib/jvm/java-7-openjdk-amd64/