真实世界的Jython应用程序

时间:2010-08-29 07:02:00

标签: python jython

我最近开始学习Python。尚未冒险进入编码领域。 在我的一次学习课程中,我来到了Jython这个学期。

我用Google搜索了它&得到了一些信息。

我想知道是否有人使用Jython实现了任何真实的程序。

5 个答案:

答案 0 :(得分:10)

大多数情况下,Jython并不直接用于编写完整的读取世界程序,但是很多程序实际上嵌入了Jython以将其用作脚本语言。

官方Jython网站提供了一个项目列表,一些是用Jython编写的,另一些是使用Jython编写的脚本: http://wiki.python.org/jython/JythonUsers

答案 1 :(得分:5)

我现在正在Jython中编写一个完整的应用程序,并强烈推荐它。拥有所有Java库非常方便,Python语法和语言功能实际上使用它们中的一些比在Java中更容易(我在这里主要谈论Swing)。

结帐the chapter on GUI Applications from the Jython book。它做了很多比较,比如'看看所有这些Java代码,现在看一下它缩减为Python代码的一半长度!'。

我发现的唯一警告是:

  • Jython开发往往略微落后于Python,如果你找到一种在Python中做某事的很酷的方式,只会发现它在当前的Jython版本中不受支持,这可能很烦人。
  • 有时候你可能会对Python和Java之间的接口打嗝(我有几个未解决的问题herehere,虽然这种事情总有解决办法。)
  • 分发并不是那么简单,虽然一旦你弄清楚如何去做,它就相当轻松。我建议遵循方法here。它主要包括:
    1. 爆炸jython.jar并将自己的模块添加到其中。
    2. 编写并编译一个创建Python解释器并加载Python模块的小型Java类。
    3. 创建一个可执行的.jar文件,该文件由jython.jar模块,您自己的Python模块和Java类组成。

答案 2 :(得分:2)

WebSphere和WebLogic将其用作管理目的的默认脚本引擎。

许多其他Oracle产品将其作为“oracle_commons”模块(Oracle Universal Installer,Oracle HTTP Server等)的一部分发布。虽然部署的版本大部分都是2.2版本,但它有点古老而笨重。

答案 3 :(得分:2)

Jython真的很喜欢依赖注入。

你知道你必须给你的程序提供的那些讨厌的变量,比如

  • 文件系统路径
  • 服务器名称
  • 端口

Jython提供了一种通过将这些变量放入脚本来注入这些变量的非常好的方法。它同样适用于注入java依赖项。

答案 4 :(得分:1)

有一个在http://wiki.python.org/jython/JythonUsers

使用jython的应用程序列表