需要帮助将目录中的所有jar文件包含到现有项目中

时间:2011-08-29 10:30:04

标签: java apache ant build axis2

我已将一段sharepoint代码添加到现有的java文件中,该文件正在编译并正常工作。编写的sharepoint代码使用一些外部库。现在我需要通过ANT将外部库添加到现有项目中。

我在build.xml文件中做了一些修改,因此解决了所有编译错误。但是当代码执行时,我收到一条错误消息“java.lang.NoClassDefFoundError:net / entropysoft / eci / spi / IContentProviderFactory”。请帮我解决这个错误。

另外,请告诉我build.xml文件中需要添加哪些内容来解决错误。 所有jar文件都出现在“externallibs”目录中

谢谢, Rajath

2 个答案:

答案 0 :(得分:2)

运行应用程序时,您需要在类路径中包含所有jar:

java -cp externallibs/* com.foo.bar.Main

如果它是Java EE Web应用程序,则构建过程应将所有这些jar复制到生成的Web应用程序结构的WEB-INF/lib文件夹中。

答案 1 :(得分:0)

java.lang.NoClassDefFoundError: net/entropysoft/eci/spi/IContentProviderFactory并不意味着找不到班级net.entropysoft.eci.spi.IContentProviderFactory。这意味着在类路径中的任何位置都找不到此类中使用的类。当类加载器尝试加载类但它无法正确初始化类定义时抛出此错误。

要解决此问题,您需要查看类net.entropysoft.eci.spi.IContentProviderFactory的源代码(通常在导入部分),并确定缺少的Java类是什么以及缺少的类所在的库。你知道你可以使用JB Nizet的答案将该库添加到类路径中。如果从IDE运行它,则需要将该库添加到build.xml。