跳转到主要内容

从Python(Jython)WSGI应用程序组装WAR文件

项目描述

snakefight

snakefight从Python(Jython)WSGI应用程序生成WAR文件,适用于部署到Java Servlet容器

安装

snakefight需要至少Jython 2.5b2。要安装

$ easy_install snakefight

创建WAR文件

snakefight提供一个新的distutils命令:bdist_war

要创建一个WAR文件,创建一个web.xml部署描述符(通常利用modjy库进行实际的Servlet)并运行

$ jython setup.py bdist_war --web-xml web.xml

snakefight可以通过指定--paste-config选项自动生成一个web.xml(利用modjy),适用于Paste风格的项目(支持paste.app_factory入口点的项目),指定名为app的配置文件,请使用--paste-app-name选项(默认为main)

$ jython setup.py bdist_war --paste-config production.ini --paste-app-name cascade

要将单独的.jar文件包含在WAR的WEB-INF/lib目录中,请将jar列表以逗号分隔的形式指定给--include-jars选项

$ jython setup.py bdist_war --include-jars jasper-runtime-5.5.9.jar,lucene-core-2.4.jar \
> --web-xml web.xml

与任何distutils命令一样,选项也可以在项目的setup.cfg中指定

[bdist_war]
paste-config = production.ini
include-jars = jasper-runtime-5.5.9.jar
               lucene-core-2.4.jar

Snakefight 也可以从 CPython 运行(至少版本 2.5),只要指定了 JYTHON_HOME

$ jython setup.py bdist_war --web-xml web.xml --jython-home=~/jython2.5b2

其他选项

  • --war-prefix 构建war文件的名称前缀

  • --no-jython 不包含 Jython 发行版

待办事项

添加以下选项

  • exclude-requires: 排除某些 eggs 的包含

  • static_files: 公共文件的目录列表(通过更快的 org.jruby.webapp.FileServlet 提供)

  • 指定 modjy 选项

  • –unpacked: 不要压缩 war 文件

支持

  • 非 setuptools 应用程序?(如 Django 应用程序) django-jython 已经处理了 Django,但理想情况下我们会共享代码

变更日志

0.5 (2011-12-10)

  • 通过 pip 修复了安装问题。

0.4 (2009-07-15)

  • 重新排列自动生成的 web.xml 子标签,以便更好地验证。

  • 使用实际的分发名称(而非 egg 安全名称)作为 WAR 文件名。

  • 在移动之前关闭 war 文件句柄,尤其是在 Windows 上。

0.3 (2009-03-13)

  • 添加了 --include-jars 选项

0.2 (2009-03-10)

  • 现在安装应用程序的第一步是 easy_install

0.1 (2009-03-08)

  • 初始版本

项目详情


下载文件

下载适用于您的平台文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。

源分布

snakefight-0.5.tar.gz (10.4 kB 查看散列

上传时间

构建发行版

snakefight-0.5-py2.6.egg (12.3 kB 查看散列

上传时间

snakefight-0.5-py2.5.egg (12.3 kB 查看散列

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面