2009-10-04 86 views
1

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

回答

3

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

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

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

+0

被选为接受的答案,因为它似乎是我最感兴趣和相关的。 – 2010-03-04 10:09:26

1

我用豆蔻脚本运行Ant的脚本启动和停止JBoss的... 脚本到处跑赢和Linux(无需特殊的蝙蝠/.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代码的小测试。

+1

你应该真的调查子进程模块:-) – 2009-10-05 20:12:38

+0

好吧好吧os.system是一个快速入侵:-) – Blauohr 2009-10-06 07:58:54

1

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

0

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

0

因为:

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

我使用的Jython与zxJDBC做一些工具,如标杆查询, 测试模式等。例如,我创建了可用于Python + cx_Oracle或Jython + Oracle JDBC驱动程序的tool to export Oracle database information(表,列,触发器,过程)。