[英]Jython modules through the Java ScriptEngine API
背景:
我创建了一个应用程序,该应用程序使用一个Jython脚本,并使用ScriptEngine API在Java中对其进行评估。 我评估的Jython脚本文件会导入其他定制的Jython模块并使用它们的类。 我一直在Eclipse中工作,为了让Jython脚本导入其他模块,我必须创建一个外部类文件夹,其中所有Jython脚本都位于其中,包括我评估的脚本。 然后,我不得不将该文件夹添加到类路径中。 通过在Eclipse中进行此设置,一切正常。
现在,我必须准备要发布的应用程序,然后在Eclipse之外对其进行测试。 我将Jython脚本放在一个文件夹中,然后将该文件夹添加到类似于此行的类路径中,
java -cp ./;C:\MyApplication\Jython.jar;C:\MyApplication\JythonModulesFolder Main argument1_script
该程序可以通过一个Jython脚本的简单测试用例(在Eclipse外部)按预期工作,
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中获取允许我导入外部文件的模块?
原来我必须添加
jython2.5.3\Lib
到我的课堂路径。 供参考,这是我的脚本的一部分,
java.exe -cp "%APP_HOME%\lib\jython.jar;%APP_HOME%\lib\Hammer.jar;%APP_HOME%\lib\gmsecapi.jar;%APP_HOME%\examples\Python;C:\jython2.5.3\Lib;%CLASSPATH%" bridenstine.hammer.main.Main %*
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.