当前位置: 首页 > news >正文

jade 入门教程

基于JADE平台的Agent开发
由于课程的需要,最近要搞一个基于代理的程序设计例子。其实这中设计方法早就提出,但是网上提供的框架很少,主要是:jade(Java Agent DEvelopment framework)是基于java语言的开发agent的工作框架。还有一个葡萄城做的一个GrapeCity.AgentFramework,它主要的开发语言是C#,但是这个框架的文档不全(可能我自己找不到吧),有些不公开,我没有选用这个框架。

好了,下面进入JADE教程:
1、配置环境:

1.1、到官方网站下载最新版本的jade,http://jade.tilab.com/ 。文件结构:解压后jadeAll3.6文件夹下有四个文件夹分别是JADE-bin-3.6(存放jade的核心部件)、JADE-doc-3.6(存放jade的说明文档)、JADE-examples-3.6(存放jade的实例源代码)、JADE-src-3.6。我下的时候不知道网络问题,还是服务器问题,几M的东西下了半个小时,而且我只下了JADE-bin-3.6、JADE-examples-3.6。反正最好大家都下下来。

1.2 classpath设置:要包含在JADE-BIN-3.6\jade\lib\目录下有http、iiop、jade、jadeTools和commons-codec-1.3这五个文件。比如我的windowsXP中,我放在:E:\agent\JADE-bin-3.6\jade\lib。classpath设置有两种方式:

1.2.1、第一种:在命令行下cmd,输入:set CLASSPATH=E:\agent\JADE-bin-3.6\jade\lib\jade.jar;E:\agent\JADE-bin-3.6\jade\lib\iiop.jar;E:\agent\JADE-bin-3.6\jade\lib\http.jar;E:\agent\JADE-bin-3.6\jade\lib\jadeTools.jar;E:\agent\JADE-bin-3.6\jade\lib\comons-codec\commons-codec-1.3.jar,但是这种方式每次要用的时候就要重新输入,所以我推荐第二种。

1.2.2 第二种(推荐):系统中设置环境变量:在classpath变量中设置:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;E:\agent\JADE-bin-3.6\jade\lib\jade.jar;E:\agent\JADE-bin-3.6\jade\lib\iiop.jar;E:\agent\JADE-bin-3.6\jade\lib\http.jar;E:\agent\JADE-bin-3.6\jade\lib\jadeTools.jar;E:\agent\JADE-bin-3.6\jade\lib\comons-codec\commons-codec-1.3.jar   注意:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar  这个前部分是java jdk的变量,一般装了java的前部都有了,所以你只需在后面加个分号:;,然后再加jade的变量。

1.3、环境正确性测试:
在命令行里输入:java jade.Boot -gui (注意大小写),如果配置正确那么过会会跳出一个窗口。

2、运行例子:学每种语言第一个基本都是helloworld,哈哈,这个也不例外。因为我们现在还不知道怎么编写,所以就用E:\agent\JADE-bin-3.6\JADE-examples-3.6\jade\src\examples里面的例子吧。注意:下面的例子我尽量说详细简单,高手不要笑话。

2.1、第一个例子:helloworld:
首先把例子\hello里面的HelloWorldAgent.java 改一下,用记事本打开,然后把package examples.hello;这句注释掉,因为有了这句入学者运行的时候有问题。就是在它前面加://, 保存。
然后,打开控制台:输入:e:,(跳到e盘),然后输入:cd E:\agent\JADE-bin-3.6\JADE-examples-3.6\jade\src\examples\hello  (让这个目录作为默认路径),先编译一下,输入:javac HelloWorldAgent.java  ,编译好了以后,输入:java jade.Boot -gui fuckjanpanese:HelloWorldAgent   ,注意fuckjanpanese是这个agent的名字,它可以自己随便起。HelloWorldAgent的类型,也就是我们写的HelloWorldAgent类。
效果:输入上面的命令,会跳出一个窗口,然后控制太会输出:Hello World! My name is fuckjapanese。而那个窗口的左边的树结构下的叶节点上没有显示我们的fuckjanpanese,那是因为这个agent的代码中输入Hello World! My name is fuckjapanese后,就把这个agent删了。所以要下看到添加进的agent.我们可以改HelloWorldAgent.java,把那句doDelete();注释掉,前面加//,保存重编译。再次用上面的命令运行我们就可以找到叶节点上多了一个类似于fuckjanpanese@name1099/JADE的agent.

运行了第一个例子以后,其他的例子也是一样的操作,强调一下:如果你是初学者,可能命令格式不是很了解,那么先把源代码中的package 申明注释掉。如果你想多了解其中的原因参考:http://blog.chinaunix.net/u/17663/showart_265800.html
接下来,你就可以看jade提供的文档(.\JADE-bin-3.6\JADE-doc-3.6\jade\doc),打开index.html,里面有很多例子,你挨个运行,你就能够慢慢了解怎么编代码了。


参考:
http://www-128.ibm.com/developerworks/cn/opensource/os-jade/
http://hi.baidu.com/hawkingliu/blog/item/be76a434a5b9e6b4d0a2d315.html
http://blog.chinaunix.net/u/17663/article_38100.html
http://jade.tilab.com/
http://user.qzone.qq.com/18166115/blog/1205408496

允许转载或链接,但请说明出处,否则追究法律责任

 

转载于:https://www.cnblogs.com/dhyulu/archive/2008/11/18/1335537.html

相关文章:

  • SICP-1.5-控制结构
  • C++面试题集(最全的C\C++试题集和答案)
  • java多态的理解
  • [导入]创建一个存储过程,根据系部编号查出男生、女生人数
  • 安装OpenResty开发环境
  • Vc中的文件路径问题
  • Servlet Filter
  • 通过WCF服务,采用多线程技术上传大文件到SharePoint文档库解决方案(初稿)
  • 6月21日云栖精选夜读:国内首位!Node.js社区将阿里云工程师张秋怡吸纳为CTC成员...
  • ASP.NET存储Session的StateServer
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • 在VC中使用自定义资源,FindResource,LoadResource,LockResource
  • 第0课 从0开始
  • Table转换Div+CSS_工具下载
  • 创网杯知识竞赛的软件源码
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • “大数据应用场景”之隔壁老王(连载四)
  • 08.Android之View事件问题
  • ES6系列(二)变量的解构赋值
  • ES学习笔记(12)--Symbol
  • hadoop集群管理系统搭建规划说明
  • IDEA 插件开发入门教程
  • log4j2输出到kafka
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • MD5加密原理解析及OC版原理实现
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Python_OOP
  • Python学习之路16-使用API
  • Selenium实战教程系列(二)---元素定位
  • Service Worker
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 阿里研究院入选中国企业智库系统影响力榜
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 计算机在识别图像时“看到”了什么?
  • 实战|智能家居行业移动应用性能分析
  • 世界上最简单的无等待算法(getAndIncrement)
  • 项目管理碎碎念系列之一:干系人管理
  • Java数据解析之JSON
  • zabbix3.2监控linux磁盘IO
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​Spring Boot 分片上传文件
  • #### go map 底层结构 ####
  • $(function(){})与(function($){....})(jQuery)的区别
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • %@ page import=%的用法
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (四)Android布局类型(线性布局LinearLayout)
  • (小白学Java)Java简介和基本配置
  • (转)用.Net的File控件上传文件的解决方案
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • ./configure,make,make install的作用(转)
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!