Stephan wrote: >>> I want to run [EMAIL PROTECTED] under windows in batikAgent Mode. >>> Some weeks ago it worked well. Now I returned from vacation, updated the >>> client and now it's broken :( > Is maybe FOP a requirement now? It is not mentioned on the wiki, but the > fop distribution contains also a batik-all.jar together with other libs > like avalon and commons that would be missing next... > > http://xmlgraphics.apache.org/fop/ > > My guess is that fop-transcoder.jar is the same than fop.jar > > I'll give it a try, but maybe someone can confirm this. > The FOP jars copied into batik folder solved the classpath checking. But now it won't start the java.
I've included a print to see what it is trying to start: starting: start /B /LOW .\java -Xms256M -Xmx1350M -classpath .\batik-agent.jar:.\xercesImpl.jar:c:\tilesAtHome\batik\batik.jar:c:\ti lesAtHome\batik\fop-transcoder.jar:c:\tilesAtHome\batik\avalon-framework.jar:c:\tilesAtHome\batik\commons-logging.jar:c:\tilesAtHo me\batik\commons-io.jar org.tah.batik.ServerMain -p 18123 Can't exec "start": No such file or directory at lib/SVG/Rasterize/Engine/BatikAgent.pm line 165. Error exec'ing "start": No such file or directory at lib/SVG/Rasterize/Engine/BatikAgent.pm line 165. This is on a WinXP SP3, Perl 5.10.0 Looks like exec can not be used to launch "start" as this is an internal command of cmd.exe. Did the batikAgent work for anyone before? I'm no perl expert. Reading http://perldoc.perl.org/functions/exec.html suggests that using exec is wrong anyway as it would never return. I replaced the exec with a system call, now the starting looked a bit better. system(@cmd) == 0 or But it opens the java folder insted of executing java due to the ".\java": Timeout waiting for batik agent to start at lib/SVG/Rasterize/Engine/BatikAgent.pm line 179. So my next modification was in batik.pm to return a path without the .\ in front: my $filepath = File::Spec->canonpath(File::Spec->catpath($volume, $dir, $name)); Next problem: Exception in thread "main" java.lang.NoClassDefFoundError: org/tah/batik/ServerMain A closer look at the command shows that the classpath separator for windows is wrong. It is separated by semicolon. So another change to BatikAgent.pm push(@cmd, '-classpath', join($^O eq "MSWin32" ? ';':':', $self->find_jars( @{$self->jar_list()} ))); Now it did launch the BatikAgent sucessfully. It would be great if someone could confirm these changes and submit to SVN. Especially the canonpath thing is something I'm not sure about how it will work if java is not included in searchpath. Stephan _______________________________________________ Tilesathome mailing list [email protected] http://lists.openstreetmap.org/listinfo/tilesathome
