« 如何在xVM克隆基于ZFS的domain | Main | 虚拟化之群雄争霸 »
http://developers.sun.com.cn/blog/functionalca/date/20091028 星期三 2009年10月28日

如何使用NetBeans开发Jython程序

作者:蒋海鸥

邮箱:superhaiou#superhaiou.com

 

Jython是什么?

 

维基百科:Jython程序可以和Java无缝集成。除了一些标准模块,Jython使用Java的模块。Jython几乎拥有标准的Python中不依赖于C语言的全部模块。比如,Jython的用户界面将使用SwingAWT或者SWT。 Jython可以被动态或静态地编译成Java字节码

Jython还包括jythonc,一个将Python代码转换成Java代码的编译器。这意味着Python程序员能够将自己用Python代码写的类库用在Java程序里。

可见,Jython是Python和Java的综合体,能直接运行于JVM之一。本文将介绍如何使用NetBeans 6.7进行Jython程序的开发。

 

首先需要安装NetBeans 6.7,下载地址为http://www.netbeans.org;打开NetBeans,在工具里选择插件,可用插件里可以搜索到python和jython,选中后点击安装即可。

插件安装成功后,会在工具菜单下生成Python Platforms的子菜单项,点击该菜单项,如果像图一这样拥有Jython或Python平台,则说明安装成功。


图一 Python Platform Manager

接下来就可以创建属于自己的工程了,选择文件 > 新建工程,进入以下用户界面,如图二所示:


图二 新建工程

本文用一个FeedReader工程作为Example,通过一个feedreader.py的jython程序来读取rss配置文件的内容,如图三所示:


图三 FeedReader Project

该jython程序的代码如下:

 

from java.net import URL

from java.lang import Exception

from java.lang import Object

from com.sun.syndication.io import SyndFeedInput

from com.sun.syndication.io import XmlReader

 

 

class FeedReader(Object):

    def __init__(self, url):

        self.inUrl = url

     

    def readFeed(self):

      ok = False

 

      if self.inUrl != '':

         rssUrl = self.inUrl

      else:

         rssUrl = "http://www.1blog.cn/rss.xml"

     

      try:

         feedUrl = URL(rssUrl)

         input = SyndFeedInput()

         feed = input.build(XmlReader(feedUrl))

        

         print(feed)

         ok = True

      except Exception, e:

         print 'An exception has occurred', e

      if ok != True:

         print 'An error has occurred in this reader'

        

if __name__== "__main__":

    reader = FeedReader('')

    reader.readFeed()

    print 'Command Complete...RSS has been parsed'

   

需要注意的是,python及jython程序需要严格地按照其代码缩进规则,或者容易报错。此外,运行本程序还需要两个扩展包(jdom和rome),需要我们将这两个包添加到该工程的属性中,如图四所示:


图四 添加扩展包至工程属性

运行结果如图五所示:


图五 运行结果

参考文献:http://www.netbeans.org/kb/docs/python/jython-quickstart.html



发表于 Hai-Ou Jiang [NetBeans] ( 十月 28, 2009 04:04 下午 ) Permalink | 评论[0]
评论:

发表一条评论:
  • HTML语法: 禁用