本帖最后由 kansin 于 2009-7-25 13:33 编辑
( i5 N- X. d" f3 V$ d
" U+ x! \/ o& Q- ^ g- T& g新近需要使用SWARM来建模,而我对这个软件基本不了解,所以在看他自己提供的介绍,然后遇到点问题,希望大虾能够指点。
- ?* Q8 k6 l }, W
9 G: T( j/ M Y3 t6 N2 N8 g s3 B 在SimpleSwarmBug3中的第32行报错:
6 i- y5 \# c) Q$ F4 S8 [0 q/ B% c8 z% H* @: @
modelSwarm =0 [% M' L' z( d0 e5 d) l/ k& I0 Q
(ModelSwarm) Globals.env.lispAppArchiver.getWithZone$key(
+ f+ u# f, L1 b; l- A% Q6 _ Globals.env.globalZone, "modelSwarm");
! f! X* {% w$ u, W7 ? h. v0 D: Z" p' k
错误是:
( Q8 T) Z6 D, J- Q$ p
9 w* X5 w: \- I; L Exception in thread "main" java.lang.NullPointerException
' ], \ b+ c! \6 t7 N( }) s, E at StartSimpleBug.main(StartSimpleBug.java:35)
1 l ]& a' P9 p9 ?! g' W( ]8 b& J
% s$ X7 T- }" b3 Z' P5 T# I& j 我调试了一下,似乎是对象找不到参数。把上面这段改回! G0 _8 I6 x# J, `6 m) P& ?
0 A4 C: ?7 j( v) K+ F2 }' C
modelSwarm = new ModelSwarm(Globals.env.globalZone);- F5 P/ m2 z( h! [& c' M, Z! l
3 Z0 c8 K8 @7 m: [4 @9 e
就可以运行,所以应该问题在LispAppArchiver上,确切地说应该在getWithZone$Key()上,或者在“SimpleBug.scm”上,但是这些东西都是原封不动的,所以我就不知道是哪里出了问题。
; o9 m& {- ^- j- @! {7 T; o2 `5 n
我用的系统是XP,Swarm-2.2-java,j2sdk1.4.2,安装和环境是完全按说明上来的,其他的几个小例子也能跑,包括HEATBUGS。但是只要有LispAppArchiver的地方就会出错,同样的问题也会发生在SimpleObseverBugs中,同样的问题。
4 b0 [* B; t$ m. k) B
: G) p! ]4 k2 B( [" Z* t1 z9 F' | 请大虾指教!非常感谢!
$ I, k H a: x/ U |