日期:2014-05-19  浏览次数:20690 次

java程序调用bat,总是报错,找不到main函数
程序的路径
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函数找不到。
不知道为什么,求解惑啊!

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


------解决方案--------------------
你需要把包含D:\workspace\Converter\src\jp\co\zhou\wu\my\app\converter\domain\logic\concrete\PdfImpl.java这个java文件的jar包 加入到bat中间的CLASSPATH中
------解决方案--------------------
<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>

......