【问题标题】:Jython modules through the Java ScriptEngine API通过 Java ScriptEngine API 的 Jython 模块
【发布时间】: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 的模块允许我导入外部文件?

【问题讨论】:

    标签: java eclipse jython


    【解决方案1】:

    原来我必须添加

        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 %*
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-25
      • 2020-04-15
      • 2013-01-08
      • 2018-06-30
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多