I figured it out. The start of the classpath (LOCALCLASSPATH) is: C:/ava/fop-20111107/lib...
It should be C:/cygwin/java/fop-20111107/lib... Changing the text at the start of the path fixes the error. In my case, I inserted these lines in the script: echo $LOCALCLASSPATH exit 0 then ran: fop > path.txt I fixed the text in path.txt, then copied the text to the fop script, and assigned it to LOCALCLASSPATH. Of course, I got rid of the two lines (echo and exit), and the script runs again. Paul On Thu, Mar 15, 2012 at 7:02 PM, Paul Tremblay <paulhtremb...@gmail.com>wrote: > I had an unexpected problem running fop at work today. I run fop under > windows using cygwin and have used it for months with no problem. I > installed something else on cygwin, and when I ran FOP today (using the > bash script), I got a no classfound error. > > Exception in thread "main" java.lang.**NoClassDefFoundError: > org/apache/xmlgraphics/image/**loader/ImageContext > at java.lang.ClassLoader.**defineClass1(Native Method) > at java.lang.ClassLoader.**defineClassCond(Unknown Source) > [etc.] > > I am using version: > > FOP Version svn-trunk > > I opened the FOP script and it seems that the problem lies here: > > FOP_HOME=`cygpath --$format "$FOP_HOME"` > LCP_TEMP=`cygpath --path --unix "$LOCALCLASSPATH"` > LOCALCLASSPATH=`cygpath --path --$format "$LCP_TEMP"` > if [ -n "$CLASSPATH" ] ; then > CP_TEMP=`cygpath --path --unix "$CLASSPATH"` > CLASSPATH=`cygpath --path --$format "$CP_TEMP"` > fi > CYGHOME=`cygpath --$format "$HOME"` > > The cygpath is actually truncating the LOCALCLASSPATH name because it is > too long. If I insert > > echo $LOCALCLASSPATH > > I get something like this: > > C:/ava/fop-20111024/lib/**xmlgraphics-commons-1.5svn.jar > ^^^ > > Note how the C:/ava should be C:/java. > > I tested out the cypath command on its own, and sure enough, it truncates > the first letter if the path name is too long. > > However, even if I insert a sed command to change the LOCALCLASSPATH back > to > > C:java/[rest of path name] > > I still get the same error. > > I also tried pasting the full classpath name back into the script and > setting the LOCALCLASSPATH name to it, but this didn't work either. > > How should I set the classpath under cygwin? The cygwin path to the first > jar is: > > /cgywin/java/fop-20111024/lib/**xmlgraphics-commons-1.5svn.jar > > I need a quick fix for work, and I believe I can copy the file to > /cygwin/java/fop-20111024, and then run > > java -jar -fo file.fo -pdf file.pdf > > In fact, I did this already, and the file got converted with no error > messages. I just didn't have time to look at the resulting PDF. > > Thanks! > > Paul > >