Java.lang.IllegalAccessError getFirstPickPoint


Getting the following exception trace when calling performLayout:
java.lang.IllegalAccessError: tried to access method com.nwoods.jgo.JGoLink.getFirstPickPoint()I from class com.nwoods.jgo.layout.JGoLayeredDigraphAutoLayout
at com.nwoods.jgo.layout.JGoLayeredDigraphAutoLayout.layoutLinks(Unknown Source)
at com.nwoods.jgo.layout.JGoLayeredDigraphAutoLayout.layoutNodesAndLinks(Unknown Source)
at com.nwoods.jgo.layout.JGoLayeredDigraphAutoLayout.performLayout(Unknown Source)
Any clue/ideas/suggestions on what might cause such an exception? We are using the jgo.jar (no version from its manifest), jgolayout.jar (5.0 from its manifest) and jgosvg.jar (5.0 from its manifest).
The method getFirstPickPoint from JGoLink when decompiled has it as a protected method. There is also another version 5.1 version which has this method public. But even if I remove this 5.1 version (so there should only be one set of version of jgo libraries), still get the above exception.
Any help/advice is greatly appreciated.
thanks in advance,

My first thought is that you may be trying to use a JGoLayout.jar that is a different version than your JGo.jar. Could that be the case?

thanks for your reply.

i checked the jgo.jar and the only info i see from its manifest is the following:
Manifest-Version: 1.0
Created-By: 1.4.2_04 (Sun Microsystems Inc.)
and the manifest from the jgolayout.jar has more info and that it is has a Specification-Version of 5.0
is there another way of finding out if both .jars are the same version?

actually i looked at the original .jars from the 5.0 version and looks like the jgo.jar that i’m using may be from a different build from the jgolayout/jgosvg with it.

so i believe your assumption of being different was right. although it might be of the same version with the rest but do you think not coming from the same build will also give this same exception? in other words, the jgo.jar was compiled separately?
thanks for your guidance.

Since the JAR file you are using doesn’t have the manifest that we provide, I believe that “you” created it. The “you” pronoun I’m using is generic – perhaps it’s some other developer in your group at some earlier time.

So we have no idea of what is in that JAR. Perhaps you folks made some modifications of our code, which is why you needed to use your own version of JGo.jar. Although why you would then bother having a JGo.jar at all isn’t clear to me – you should just include the .CLASS files you needed in your own JAR. That would be smaller and simpler, if you also then included the .CLASS files from the JGoLayout.jar and JGoSVG.jar.