使用 jythonc 编译 Jython 的全面指南
1. Jython 与 jythonc 简介
Jython 的优势在于它能将 Python 和 Java 进行全面集成。多数多语言组合在语言间存在语义差距,阻碍了真正的全面集成。例如,CPython 在使用 C 库时需特殊步骤,编写 C 扩展也得遵循特定准则。而 Jython 能让用户在 Python 环境中无缝使用任意 Java 类,无需额外步骤、修改或特殊处理。不过,要实现全面集成,Java 也应能无缝使用 Python,jythonc 就满足了这一需求。
jythonc 是一个能将 Jython 模块编译成 Java *.class 文件的工具。它可以创建可运行的类,这些类虽依赖 Jython 模块,但能被 Java 执行;还能创建完全自包含的可运行应用程序,即 Java 可执行且所有依赖模块都已定位并编译的应用;此外,它能编译出与 Java 类难以区分的 Jython 类,供 Java 代码导入和调用。
2. 什么是 jythonc
jythonc 是一个从 Jython 模块生成 Java 代码的工具。它还能创建 jar 文件、跟踪依赖项、冻结关联模块等,具体功能取决于所提供的选项。在 Jython 脚本(或批处理文件)所在目录下,应有一个名为 jythonc(或 jythonc.bat)的脚本,它实际上是对 sys.prefix/Tools/jythonc/jythonc.py 文件的封装,该文件负责创建 Java 文件并调用 Java 编译器生成 *.class 文件。
使用 jythonc 需要有合适的 Java 编译器,如 Sun 的 javac(可从 http:/