体系问题:在 HLA 中,哪些是源码,哪些是库? 以《计算机仿真中的 HLA 技术》的代码为例,包括批处理和 bin 、 config 、 doc 、 lib 、 src 五个子目录,其中 doc 是说明文档, src 是 bin 中 class 文件的源代码,都不在体系之内。 Config 用来存放 fed 和 props 文件,作为 HLA 系统的重要参数文件;然后分析核心部分:我们看 manager.bat 中的内容: javaw -cp bin;lib\prti.jar;lib\jgl3.1.0.jar;lib\swingall.jar org.mitre.hla.book.manager.Manager org.mitre.hla.book.manager.Manager 是要执行的文件,也就是需要 HLA 开发者自己编写代码的部分,其源代码在 src 下都可以找到,也可以用上面提到的 jad 反编译一下看看,这样的文件都在 bin 下,其他 -cp 中的 jar 文件就是提供 Manager 运行必需的库了,它们都放在 lib 下。 小结: 开发 HLA 系统时, (1) :将别人提供的 RTI 软件放在 lib 文件夹下,(如《计…… HLA 技术》中用的是瑞典 Pitch AB 公司开发的 pRTI 的预览版,这个 RTI 软件一般是一些 jar 文件,如本书中是 Lib 文件夹下的 prti.jar 。) (2) :将自己编写的 HLA 体系运行代码(主要由 Manager.java (联邦管理器)及其附属类说明文件、代表各个联邦成员的文件组成)编译后放在 bin 文件夹下; (3) :将配置 HLA 系统的 fed 文件和 props 文件放在 config 文件夹下即可。 如何在 Eclipse 中建立 HLA 调试环境? 第一步:建立工程并添加引用库。新建一个 Java Project (假设名为 HLADemo ),可以在新建工程的 Libraries 页中点 Add External JARs 加入前面提到的 RTI 库文件,也可以建好工程后在 Project->Properties->Java Build Path->Libraries 中加; 第二步:导入源代码。假设代码都在 src 文件夹下,在 Eclipse 中右击 HLADemo ,选择 Import->File System ,将 src 文件夹下的内容加入到工程中。 第三步:加入 config 部分。将 config 文件夹拷贝到 workspace 中的工程文件夹下,然后在 Eclipse 中右击 HLADemo ,选择 Import->File System ,将 config 文件夹加入到工程中。 如何在 Eclipse 中运行 HLA ? 第一步:启动 RTI 环境。在《计…… HLA 技术》中是双击 rti.bat ,由于这个属于 HLA 的 RTI 提供者的职责,所以开发者不需要关心运行机理; 第二步:启动联邦管理器。打开 Manager.java ,运行之即可。 第三步:启动其它联邦成员。打开相应的文件,运行之即可。 如何在 Eclipse 中加库? 选中代表 HLA 的工程,在 Project->Properties->Java Build Path->Libraries 中加。 如果库文件带有源码 将源码所在目录的路径加入到 Project->Properties->Java Build Path->Libraries->Source attachment 中即可。例如: Libraries 中有一个库为 prti.jar ,用 winRAR 打开,其中有 a 和 c 两个子目录,下面的目录结构分别为: a\b*.class 和 c\d*.class ,可以在任意位置新建一个 src 目录,也在下面建立 a 和 c 两个子目录,下面的目录结构分别为: a\b*.java 和 c\d*.java ,将 Source attachment 中的目录指定到… \src 即可。在代码区中,如果某个类的类型显示为 a.b.AnyClass ,则在该类上右键 ->Open Delaration 就能看到该类在库文件中的定义。另:如果库没有源码,可以将 *.class 解压出来之后用 jad 反编译。 如何在 Eclipse 中调试 HLA ? 同运行方法类似,只是打开相应文件后,将“运行”命令改为“调试”,就可以用单步执行或者设置断点的方式调试自己的代码了。