gpt4 book ai didi

eclipse - PyDev:尝试在 Eclipse 中使用 Jython 调用用户定义的 Java 方法时出现 ImportError

转载 作者:行者123 更新时间:2023-12-02 03:32:34 26 4
gpt4 key购买 nike

我的问题类似于ImportErrorCmd但我正在使用 Windows 并试图在 PyDev Eclipse 中运行这个该死的东西。我知道如何让它在 cmd 上运行,但在 Eclipse 上不行。

问题

无论如何,所以在这里我试图得到这个例子@ImportErrorSimpleExample 工作(那里的解决方案对我不起作用)。在 Eclipse 中,我用这段代码创建了一个 Java 项目:(link -> C:\Users\compski\workspace\test\src\test\Greeter.java)

package test;

public class Greeter {

private String msg;

public Greeter() {
msg = "Hello, ";
}

public void greet(String name) {
System.out.println(msg + name);
}

}

同样在 Eclipse 中,我使用名为 me.py 的 Jython 代码创建了一个 PyDev 项目:(链接 -> C:\Users\compski\workspace\Jython\Test\me.py)

from test import Greeter

g = Greeter()
g.greet("yours truly")

尝试修复“ImportError”但失败:

1) 我尝试将我的 java 代码添加到 PYTHONPATH (C:\Users\compski\workspace\test\src\test\Greeter.java and C:\Users\compski\workspace\test\src\test) 如这里 -> Proposed Solution 1 .还是不行

2) 我将我的 Java 项目设置为 PyDev 项目(右键单击 Java 项目 -> PyDev -> 设置为 Pydev 项目,但我没有任何“bin 文件夹”。然后我还项目引用了包含 Greeter 的 Java 项目。 java 到我的 PyDev 项目,如此处 -> Proposed solution 2 。仍然没有工作

3) SO 聊天中的 1 个人告诉我,我需要“你需要添加目录,java 将从中查找你给它的类的 jar c:\foo\bar\bazand import zyxxy.Frobnicator然后它会寻找 c:\foo\bar\baz\xyzzy\Frobnicator"但我不认为我完全理解他的意思因为它听起来像我在 1) 所做的

4) ......你的答案是什么?

最佳答案

好的,现在我们在这里有了真实的文件名:给定 C:\Users\compski\workspace\test\src\testPYTHONPATH,之后from test import Greeter,它将尝试在PYTHONPATH 的每个条目中找到Greeter.class;那就是它试图找到 C:\Users\compski\workspace\test\src\test\test\Greeter.classC:\Users\compski\workspace\test\src\test\Greeter.java\test\Greeter.class,两者都不存在。

相反,在 Eclipse 中,如果我没记错的话,您可以将一个项目 添加到 PYTHONPATH,这可能是在 IDE 中进行测试的首选 - 因此只需添加您的 test 项目在 PYTHONPATH 中。另一种选择是添加从中找到 test\Greeter.class 的目录;在 Eclipse 中,这应该是 C:\Users\compski\workspace\test\bin - 默认情况下,Java 性质的项目将文件从 src 编译到 ( hidden) bin 项目中的文件夹。

最后,如果错误是关于在 test 中找不到 GreeterClass,请注意 test是内置的 Python 模块名称(尽管 IIRC Jython 没有该名称的模块)。

关于eclipse - PyDev:尝试在 Eclipse 中使用 Jython 调用用户定义的 Java 方法时出现 ImportError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25767934/

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