Workaround: IKVM and Windows 7 Classpath Determination Issue

All,

Okay, so running liquibase on Windows 7 x64 via iKVM is a pretty freaky combination. That being the case, I’m not really sure that opening a bug would be terribly fair at this point.

If you try to use this particular combination you will notice that your liquibase execution will fail with an error message about a classpath being non-existent – at least you will if there is a colon (eg C:…) in the classpath. For some reason, IVKM in this configuration reports the os.name value as “Microsoft Windows 6.1 …” rather than “Windows 7” like the jvm does. The “Microsoft” makes the isWindows() call in Main.java return false and the classpath parsing doesn’t quite work out from that point on.

So, to work around the issue add "-Dos.name="Windows " to the iKVM command line and the parsing will return to normal.

Perhaps looking at the separator value for the JVM would be a little more consistent across implementations? Dunno. Hope this helps some of you.

Coridally,

Jonathan Lent

It would be, I’ll make that change.  Thanks for pointing it out.  With any luck, we will have improving ikvm support post liquibase-2.0 especially.

You’d think MS would have learned from the whole “Java 2” aka 1.2 thing that they shouldn’t go “Windows 7” aka 6.1…

Nathan