0

在我的例子中,我试图在 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/new/New. jar' Traceback(最近一次调用最后):文件“/home/hudson/eclipse-projects/new/Test/src/MainClass.py”,第 1 行,来自 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

我正在用头撞墙!

4

1 回答 1

0

您应该能够配置项目(右键单击项目 > 属性 > PyDev PYTHONPATH)以添加所需的 jars/文件夹,而不是手动向 sys.path 添加东西。

见: http: //pydev.org/manual_101_project_conf2.html

如果这不能解决问题,请添加更多关于如何设置 PyDev 配置、如何构建 Java 类以及如何安装 Java 构建路径的信息(这些截图非常感谢)。

于 2012-06-12T10:58:08.883 回答