【发布时间】:2014-07-15 19:05:38
【问题描述】:
背景:
我创建了一个应用程序,它采用一个 Jython 脚本并使用 ScriptEngine API 在 Java 中对其进行评估。我评估的 Jython 脚本文件导入其他定制的 Jython 模块并使用它们的类。我一直在 Eclipse 中工作,为了让 Jython 脚本导入其他模块,我必须创建一个外部类文件夹,其中包含所有 Jython 脚本,包括我评估的那个。然后我不得不将该文件夹添加到类路径中。在 Eclipse 中进行此设置后,一切正常。
我现在必须准备要发布的应用程序并在 Eclipse 之外对其进行测试。我将 Jython 脚本放在一个文件夹中,并将该文件夹添加到类似于此行的类路径中,
java -cp ./;C:\MyApplication\Jython.jar;C:\MyApplication\JythonModulesFolder Main argument1_script
程序按预期工作(在 Eclipse 之外),包含一个简单的 Jython 脚本测试用例,
print "Jython Working"
但是,当我尝试使用使用其他自定义 Jython 模块的 Jython 脚本时,评估失败。同样,所有 Jython 脚本都已在 Eclipse 中正确测试并成功。
问题:
我认为问题在于 Jython 脚本/模块没有像在 Eclipse 中那样正确设置为类路径。
那么我怎样才能像在 Eclipse 中那样模仿我的环境来让我的 Jython 模块可见?
日食:
开普勒
Eclipse 上相关安装软件:
Jython 开发工具 (JyDt) 版本 1.4.15 提供者 Red Robin Software
更新:
我可以在我的 Jython 脚本中执行此操作,
from my.java.packageJar import *
import sys
但我无法导入 Jython 日志记录,
import logging
连同我所有的自定义模块。但是,如果我包含 Jython lib 文件夹中的日志记录模块,我可以import logging。这是否意味着我需要来自 Jython bin 的模块允许我导入外部文件?
【问题讨论】: