在我的情况下,我正在尝试在Jython上导入Java类。在我的项目中,我使用Eclipse IDE和一个模型驱动开发插件。我正在尝试在Eclipse中导入类但是我得到了相同的跟随错误,但我将我的java项目设置为Pydev项目并创建一个拥有.class文件的bin文件夹,我认为这是正确的做法。所以,我开始尝试使用交互式Jython在终端上导入它,我得到了相同的跟随错误,顺便说一下,我正在使用这个资源:
import sys
sys.path.append('/home/hudson/eclipse-projects/new/New/bin.jar')
有趣的是,当我尝试使用另一个.class文件时,从另一个项目中,我可以轻松实现。
错误:
>>> sys.path.append(' /home/hudson/eclipse-projects/new/New/bin/org/yakindu/sct/runtime/java/newtest/newtest.jar')
>>> import NewTestCycleBasedStatemachine
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named NewTestCycleBasedStatemachine
我一直在尝试从不同的目录导入.jar,仅用于测试,但仍然无法获取。 首先,我需要Eclipse的解决方案,因为它是我需要的插件必备。
那么,它会是什么?
将我的Java项目设置为PyDev项目后,具体的步骤是什么?我需要预编译我的项目,将我的项目压缩到.jar并添加此文件夹?
我尝试像这样导入
来自NewTest导入CycleWindow
得到这个:
sys-package-mgr :处理修改后的jar,'/ home / hudson / eclipse-projects / new / New.jar' sys-package-mgr :跳过坏jar,'/ home / hudson / eclipse-projects / news / New.jar' Traceback(最近一次调用最后一次): 文件“/home/hudson/eclipse-projects/new/Test/src/MainClass.py”,第1行,in 来自NewTest导入CycleWindow ImportError:没有名为NewTest的模块
我已经尝试导入修改pythonpath等等。例如,我可以在我的Jython类中导入SWT类但不能导入我的项目。我对两者都做了同样的事情:
/home/hudson/Downloads/swt.3.7.2-gtk-linux-x86(1)/swt.jar
/home/hudson/eclipse-projects/new/New/bin.jar
我正撞在墙上!
答案 0 :(得分:0)
您应该能够配置项目(右键单击项目&gt;属性&gt; PyDev PYTHONPATH)以添加所需的jar /文件夹,而不是手动添加到sys.path。
请参阅:http://pydev.org/manual_101_project_conf2.html
如果这不能解决问题,请添加更多信息,说明如何设置PyDev配置,如何构建java类以及如何安装java构建路径(屏幕截图对此有所了解)。