以下为摘自度娘文库的JPF介绍,各位看官看看就好,不必细究
Java PathFinder是一个可执行Java程序调试/检验系统。它的内核是一个Java虚拟机(JVM),可用于系统地探测程序所有可能的执行路径,以避免死锁或无法处理的异常之类的情况发生。与传统的调试程序不同,Java PathFinder报告导致缺陷的整个执行路径。Java PathFinder特别适合在多线程的程序中发现很难测试的并发缺陷。
我的测试环境:vmware12下的Win7 32位
首先你得有这四个前置:
这里分别给出下载地址,懒人不用谢我,记得根据操作系统下对应的版本:
Eclipse 选Eclipse IDE for Java Developers
JDK 选Java Platform (JDK),记得下之前点一下Accept License Agreement
JRE
TortouiseHG 听说这玩意不兹茲Win10?我反正是懒得试,不想污染主机环境才用的VM。
全部下载后一个个全装上,安装过程不细讲了,我是建议按JRE->JDK->Eclipse->Tortoisehg的顺序装,实际上我测试的时候不按顺序乱来也是没有问题的。
建立环境变量Java_Home,方法如图所示:
变量值一定是你的jdk安装的位置,默认路径的话就去c:/Program Files/Java/下面找找看,别填错了!
找个地方建个目录放jpf的代码,这个随意,比如我建了个c:/java/jpf/
再在jpf目录下建一个叫jpf-core的文件夹
右键这个jpf-core文件夹,菜单里有个TortoiseHg->Clone...
在源这个地方填上http://babelfish.arc.nasa.gov/hg/jpf/jpf-core
然后克隆即可,国内的网速克隆起来还是非常快的
完成之后就会弹出一个HG的Workbench,不用管它关掉就行
然后在jpf/下面建一个空的文件,改名为site.properties
然后右键用notepad++或者UltraEdit或者写字板之类的文本编辑工具打开(注:记事本不可)
填入以下内容:
# JPF site configuration jpf.home = C:/java/jpf # can only expand system properties at this point jpf-core = ${jpf.home}/jpf-core # annotation properties extension jpf-aprop = ${jpf.home}/jpf-aprop extensions+=,${jpf-aprop} # numeric extension jpf-numeric = ${jpf.home}/jpf-numeric extensions+=,${jpf-numeric} # concurrent extension #jpf-concurrent = ${jpf.home}/jpf-concurrent #extensions+=,${jpf-concurrent} jpf-shell = ${jpf.home}/jpf-shell extensions+=,${jpf-shell} jpf-awt = ${jpf.home}/jpf-awt extensions+=,${jpf-awt} jpf-awt-shell = ${jpf.home}/jpf-awt-shell extensions+=,${jpf-awt-shell}
就像这样:
注意把C:/java/jpf改成你的jpf/所在目录!
打开eclipse,工作空间随你自己选,比如我的是在C:/java/Qoge
然后点Window->Perferences
左边选JPF Perferences选项卡,右边在Path to site.properties的框里填上正确路径,就是你刚才创建的那个site.properties文件的位置。
然后Apply即可。
接着把jpf的工程导入工作空间
然后如果你的Project->Build automatically是勾上的话,应该就会开始自动built jpf-core了
等看到控制台有
BUILD SUCCESSFUL Total time: 23 seconds
的字样出现就说明build完成了。
现在运行一下他的例子试试:
以下为摘自度娘文库的原话
在成功build的jpf-core工程中,src/examples下提供了一些.jpf文件测试例。右键点击一个.jpf文件,如果插件已经被正确安装,那么将会出现一个Verify选项,否则表示没有成功。选择Verify选项,就表示开始对系统的验证过程
以下是我自己的测试结果
jpf文件内容如下:
target = org.qoge.clientui.ClientMain +classpath=C:/java/Qoge/myQQClient/bin