java - 使用 Jython 的标准 Python 模块的 ImportError(在 JAR 文件中)

标签 java jar classpath jython

我已经实现了一个包含 Jython 的 Java 应用程序来运行 Python 脚本。当我从 IDE(Eclipse 或 IDEA)运行该应用程序时,一切正常,Python 脚本得到正确处理。

但是,当我将所有内容打包到一个 JAR 文件(待发布)中时,包括 jython.jar 文件,然后一旦 Java 应用程序尝试运行第一个,我就会收到以下错误Python 脚本:

ImportError: No module named os

所以似乎找不到包含所有标准 Python 模块的 Lib 文件夹。我检查了 Java 应用程序的 JAR 文件中包含的 jython.jar 文件,它确实正确地包含了 Lib 文件夹。事实上,当我从 IDE 运行应用程序时,它也使用了相同的 jython.jar 文件。

我知道可以指定 -Dpython.path 参数,但我不知道在这里设置什么。如何引用主应用程序 JAR 文件中 jython.jar 文件中的 Lib 文件夹?

最佳答案

我遇到了同样的问题,这是我的解决方案: 在您的 python 脚本中,将 Lib 路径添加到 sys 路径。以下是代码:

import sys
libPath="C:\\jython2.7b1\\Lib"
sys.path.append(libPath)

关于java - 使用 Jython 的标准 Python 模块的 ImportError(在 JAR 文件中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16753517/

相关文章:

java - jar 中的类什么时候进入 PermGen

java - 通过URL透明登录

java - 条件映射 ((条件) ? get-this : get-that) with Org. ModelMapper

c++ - 如何在没有控制台窗口的情况下从 C++ 启动 .jar 文件

java - 为同一个项目创建两个可执行jar?

java - 无法找到 javac 编译器 com.sun.tools.javac.Main 不在类路径错误

java - 在 JAVAFX TableView 中设置值 - 对象与另一个对象

java - Android 应用程序中的自定义单选按钮在禁用时不会变灰

java - 打包成jar,在cmd中运行,但找不到主类

java - InternetDomainName 和 publicsuffix 列表