你如何使用Jython进行Java开发?

时间:2009-10-04 21:37:19

标签: java jython

因此,您不能将Jython用于您在工作中开发的生产代码。相反,您可以使用它来帮助您完成编写Java代码的日常任务和活动。问题是:你如何使用Jython以及它如何帮助你的开发和/或生产力?

5 个答案:

答案 0 :(得分:3)

我运行Jython命令行,并在命令行上动态创建/查询我的类。我发现这对于确定类如何响应各种输入(通常将这些输入编码到测试等中)非常有效。

我还发现这对于学习Swing非常有用 - 动态调整大小/重新打包和添加/删除组件。

您可以使用其他Java脚本语言(例如BeanShell)执行相同的操作,但是Jython是我选择并首先使用的那种语言。

答案 1 :(得分:1)

我使用litte脚本来运行启动和停止jboss的ant-scripts ... 脚本在任何地方运行win和linux(不需要特殊的.bat /.sh)

作为示例我的小util.py(导入)

import sys
import os
import shutil

def ant(buildfile,target=''):
    antrun = os.sep.join([os.environ['ANT_HOME'],'bin','ant'])
    action = ' '.join([antrun,'-buildfile',buildfile,target])
    os.system(action)

def jboss_start():
    jbrun = os.sep.join([os.environ['JBOSS_HOME'],'bin','run'])
    action = ' '.join(['start',jbrun,'-c default -b %COMPUTERNAME%'])
    print action
    os.system(action)

def jboss_stop(args='--user=admin --password=admin -s %COMPUTERNAME% -S'):
    os.environ['NOPAUSE'] = "TRUE"
    jbstop = os.sep.join([os.environ['JBOSS_HOME'],'bin','shutdown'])
    action = ' '.join([jbstop,args])
    print action
    os.system(action)

def pjoin(*args):
    rc = os.sep.join(args)
    return os.path.normpath(rc)

def env(key,value=None):
    if value :
        os.environ[key] = value
    return os.environ.get(key,'')

def cp(src,dst):
    shutil.copy(src, dst)

def mkdir(dst,mode=0777):
    if not os.path.exists(dst) :
        os.makedirs(dst, mode)

..我用jython(pydev)在eclipse中运行测试。 jython非常适合编写java代码的小测试。

答案 2 :(得分:1)

我使用Jython使用jconn2.jar和包含的com.sybase.jdbc2.jdbc.SybDriver访问Sybase数据库。与zxJDBCiBATIS一起,这允许我使用Python编程来对抗我工作的公司中的一个主要数据库。

答案 3 :(得分:0)

我们使用jython来运行'jybot',这是robot framework的一部分的测试运行器。它让我们编写java代码作为我们的java代码和测试脚本之间的粘合剂。

答案 4 :(得分:0)

由于:

  • 我喜欢Python,
  • 我们的主要产品之一是用Java编写并使用JDBC驱动程序

我使用Jython和zxJDBC来做一些工具,比如基准测试查询, 测试模式等。对于examaple,我创建了tool to export Oracle database information(表,列,触发器,过程),可以与Python + cx_Oracle或Jython + Oracle JDBC驱动程序一起使用。

相关问题