程序的路径
D:\workspace\Converter\src\jp\co\zhou\wu\my\app\converter\domain\logic\concrete\PdfImpl.java
BAT文件的路径
C:\Program Files\zhou\wu\Service\bin\my\fop.bat错误信息
java.lang.NoClassDefFoundError: org/apache/fop/cli/Main
Caused by: java.lang.ClassNotFoundException: org.apache.fop.cli.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: org.apache.fop.cli.Main.  Program will exit.
Exception in thread "main" 感觉是环境没配对,因为另一个文件用bat执行java程序也是报错说main函数找不到。
不知道为什么,求解惑啊!

解决方案 »

  1.   

    是的org.apache.fop.cli.Main这个包没有加上
      

  2.   

    java.lang.NoClassDefFoundError: org/apache/fop/cli/Main
    是说没有找到类, 不是没有找到方法
    应该引入这个包 , 需要在bat里的CLASSPATH中加入org.apache.fop.cli.Main类所在的jar包
      

  3.   

    你需要把包含D:\workspace\Converter\src\jp\co\zhou\wu\my\app\converter\domain\logic\concrete\PdfImpl.java这个java文件的jar包 加入到bat中间的CLASSPATH中
      

  4.   

    要看看bat怎么写的,尤其是关注 CLASSPATH 是怎么引入 org.apache.fop.cli.Main 类所在jar包的。还是说这个类是你自己写的?那么可以用:java -cp D:\xxoo\xxoo  启动类包.启动类
      

  5.   

    感谢感谢,能找到这个类了。
    但是有新问题了、
    这个似乎涉及到fop的知识了
    org.apache.fop.apps.FOPException: Failed to resolve font with embed-url 'conf/font/MSGOTHIC.TTC'
    at org.apache.fop.util.LogUtil.handleError(LogUtil.java:38)
    at org.apache.fop.fonts.FontInfoConfigurator.getFontInfo(FontInfoConfigurator.java:212)
    at org.apache.fop.fonts.FontInfoConfigurator.addFonts(FontInfoConfigurator.java:168)
    at org.apache.fop.fonts.FontInfoConfigurator.configure(FontInfoConfigurator.java:100)
    at org.apache.fop.render.PrintRendererConfigurator.buildFontList(PrintRendererConfigurator.java:106)
    at org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:129)
    at org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:165)
    at org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:181)
    at org.apache.fop.area.RenderPagesModel.<init>(RenderPagesModel.java:73)
    at org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:130)
    at org.apache.fop.area.AreaTreeHandler.<init>(AreaTreeHandler.java:102)
    at org.apache.fop.render.RendererFactory.createFOEventHandler(RendererFactory.java:359)
    at org.apache.fop.fo.FOTreeBuilder.<init>(FOTreeBuilder.java:105)
    at org.apache.fop.apps.Fop.createDefaultHandler(Fop.java:101)
    at org.apache.fop.apps.Fop.<init>(Fop.java:79)
    at org.apache.fop.apps.FopFactory.newFop(FopFactory.java:271)
    at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:109)
    at org.apache.fop.cli.Main.startFOP(Main.java:174)
    at org.apache.fop.cli.Main.main(Main.java:205)
      

  6.   

    貌似是找不到字体文件,fop.xconf里embed-url用的相对路径,
    <font metrics-url="conf/font/MS Gothic.xml" embed-url="conf/font/MSGOTHIC.TTC">
    查了一下,说此处font 标签内的metrics-url与embed-url为绝对路径或者相对路径,如果为相对路径<font-base>./</font-base>必须指定,否则报错。
    但是<font-base>./</font-base>写在哪里啊
      

  7.   

    <fop version="1.0">  <!-- Strict user configuration -->
      <strict-configuration>true</strict-configuration>  <!-- Strict FO validation -->
      <strict-validation>true</strict-validation>  <!-- Base URL for resolving relative URLs -->
      <base>./</base>  <!-- Font Base URL for resolving relative font URLs -->
      <font-base>./</font-base>......
      

  8.   

    现在又有这个问题了,哎!真是一步一个坑啊!
    javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: Document is empty (something might be wrong with your XSLT stylesheet).
    at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:302)
    at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130)
    at org.apache.fop.cli.Main.startFOP(Main.java:174)
    at org.apache.fop.cli.Main.main(Main.java:205)
      

  9.   


    我之前遇到过一个其他的关于fop的问题:
    http://www.crifan.com/fop_error_validationexception_block_not_a_valid_child_of_fo_root/你这里的,看提示是Document is empty,所以看起来估计是xml文件中,没有写合适的内容,导致fop检验出错。
    不过具体是何问题,需要你把具体的xml文件内容都贴出来,才好帮你。
      

  10.   


    网址打不开,回头看
    我现在是pdf已经出来了,但是不全
    因为是6个xml使用同一个xsl变换,但是有2个xml没变换成功,出来的pdf没数据,我看了一下,这2个xml都有table,估计是table没变换好,我在继续看呢