- 积分
- 55975
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
这里讲讲运行MeteoInfo脚本的几种方式:
1. 在MeteoInfo脚本编辑器(通过“工具 -> 脚本”菜单打开)中运行。在脚本编辑器中编写脚本或者打开已有的脚本程序,然后点击工具栏中的“Run Script”按钮运行,脚本中的打印语句结果会显示在脚本编辑器中的文本框中。如果出错,错误信息也会在文本框中显示,通常错误信息包含了出错语句的行号和具体的错误内容,可以有针对性的进行修改。
2. 在命令行环境中运行。MeteoInfo软件的安装路径中有meteoinfo.bat和meteoinfo.sh两个文件,分别是为了在Windows和Linux(Unix, Mac OS等)利用命令行运行MeteoInfo桌面和脚本程序用的。最好在将MeteoInfo路径加入系统路径环境变量中,以方便应用(下面的例子假定已经MeteoInfo路径已经在系统路径环境变量中)。如果在命令行中只输入meteoinfo.bat或者meteoinfo.sh命令则会运行MeteoInfo桌面软件,要运行脚本程序的话只需在上述命令后面跟空格然后是脚本文件路径。例如运行test.py脚本文件:
Windows系统:meteoinfo.bat D:\Temp\test\test.py
Linux系统:meteoinfo.sh /cma/u/wangyq/test/test.py
3. 在系统自动定时任务中运行。对于需要自动定时运行的MeteoInfo脚本程序可以加入系统定时任务中,Windows中是“任务计划程序”,Linux中是crontab。
Windows系统:最好将运行脚本的命令放入一个批处理文件(.bat)中,然后将该批处理文件加入任务计划程序中。
Linux系统:将运行脚本的命令放入一个shell脚本中,然后在crontab中设置。
这里需要特别讲一下Java的headless模式。crontab中缺省只有一些最基本的环境变量,没有用户自定义的PATH, DISPLAY等变量,PATH可以在shell脚本中定义一下,但DISPLAY变量在shell脚本中定义会有问题,导致图形部分无法运行。好在Java专门有headless模式来解决这个问题,模式,在该模式下无需显示器、键盘、鼠标等硬件,也就是说不用设置DISPLAY变量。然而该模式限制了heavyweight组件的应用,比如:Button, Checkbox, Choice, Dialog, FileDialog, Frame, Label, List, Menu, MenuBar, MenuItem, PopupMenu, Scrollbar, ScrollPane, TextArea, TextField, Window。通常在MeteoInfo脚本绘图时要用到MapLayout类,该类继承自JPanel,正好是headless模式支持的组件。MeteoInfo脚本教程(二)中的脚本程序去掉最后的创建JFrame部分语句就可以用headless模式运行。用headless模式运行脚本需要在meteoinfo.sh命令后加-b选项,比如:
meteoinfo.sh -b /cma/u/wnagyq/test/test.py
|
|