I sent a demo of an app I've been developing on Linux to some Windows 7 users, and they were unable to run it. The stack traces they sent me indicated that ODB was trying to create its log files inside objectdb.jar, which was inside the executable jar packaged by Eclipse. Here's the end of the stack trace:
[code]Caused by: com.objectdb.o.UserException: Failed to create a new file 'rsrc:objec tdb.jar\log\odb20120417.log' at com.objectdb.o.MSG.d(MSG.java:74) at com.objectdb.o.LFL.L(LFL.java:841) at com.objectdb.o.LFL.I(LFL.java:781) at com.objectdb.o.LFL.I(LFL.java:750) at com.objectdb.o.LGM.<init>(LGM.java:120) at com.objectdb.o.CFG.u(CFG.java:275) at com.objectdb.o.CFG.<clinit>(CFG.java:58) ... 50 more Caused by: java.io.FileNotFoundException: rsrc:objectdb.jar\log\odb20120417.log (The filename, directory name, or volume label syntax is incorrect) at java.io.RandomAccessFile.open(Native Method) at java.io.RandomAccessFile.<init>(Unknown Source) at com.objectdb.o.LFL.L(LFL.java:828) ... 55 more[/code]
I don't know if this is a problem with ODB itself, or with the way Eclipse packaged it. Either way, it does not affect Linux users; I can copy my executable jar to another Linux machine and it works fine. (I didn't check where it creates its log files, but evidently it doesn't try to create them inside the jar.)
I was using Bundle-Version 2.3.6.b14. I just upgraded to 2.3.7.b15, but in my haste to get feedback from Win7 users, that wasn't the only change I made. I also added the workaround described by paolutus in this seemingly related thread: http://www.objectdb.com/database/forum/262 I'll follow up as soon as I hear the results. If this was a known issue, I'll remove the workaround and see how it goes.