我正尝试在Jython中使用Gephi Toolkit,但遇到了问题。代码如下:
import sys
sys.path.append('gephi-toolkit.jar')
from org.openide.util import Lookup
import org.gephi.project.api.ProjectController as ProjectController
pc = Lookup.getDefault().lookup(ProjectController)
workspace = pc.newProject()
print "done."它永远不会到达最后一行。相反,会给出以下错误:
Traceback (most recent call last):
File "standalone.py", line 9, in <module>
workspace = pc.newProject()
AttributeError: 'NoneType' object has no attribute 'newProject'显然,"Lookup.getDefault().lookup(ProjectController)“没有返回任何内容。有人能告诉我为什么吗?我发现以下解决方法是可行的(绕过Lookup):
...
import org.gephi.project.impl.ProjectControllerImpl as ProjectControllerImpl
pc = ProjectControllerImpl()
workspace = pc.newProject()我想知道更多关于这个问题的信息。谢谢。
发布于 2011-05-11 03:36:04
我认为这是因为查找需要对java类的引用,而不是jython包装器。
尝试一下,看看它是否适用于您,至少对我来说,它会返回org.gephi.project.impl.ProjectControllerImpl的一个实例
导入系统
从org.openide.util导入查找
导入java.lang.Class
将org.gephi.project.api.ProjectController作为ProjectController导入
pc = Lookup.getDefault().lookup(java.lang.Class.forName("org.gephi.project.api.ProjectController"))
打印(Pc)
使用
调用(更改到安装gephi的位置)
设置CLASSPATH=%CLASSPATH%;C:\java\gephi-toolkit-0.7.2014-all\gephi-toolkit.jar
jython.bat gephi_test.jy
您应该会看到类似这样的内容
C:\jython2.5.2>jython.bat gephi_test.jy
org.gephi.project.impl.ProjectControllerImpl@8ddb93
https://stackoverflow.com/questions/5954852
复制相似问题