2011-03-07 45 views
1

我已经包含了所有的6个jar(beanutils,lang,日志记录,集合,ezmorph,json-lib)。它在简单的struts应用程序中工作正常。但是在我的struts应用程序中,尽管我已经包含了所有的jar文件,但它显示了一个NoClassDefFoundErrorListOrderedMap无法找到ListOrderedMap?

我不知道如何让我的应用程序知道这个类。但是我已经包含了其他所需的不同功能的罐子。

请帮我解决这个问题。

+7

那类是Apache Commons Collections的一部分。检查你的类路径中是否有Apache Commons Collections jar文件的正确版本(3.0或更新版本) - 如果它是一个Web应用程序,它应该在你的war文件的'WEB-INF/lib'中。 – Jesper

+4

@Jesper - 这也可以作为答案。 – Bozho

+0

指定的jar文件位于WEB-INF/lib文件夹中。它在其他应用程序中完美运行。我不知道这个问题。 – Manoj

回答

1

类别ListOrderedMapApache Commons Collections(自版本3.0起)的一部分。

为了能够使用它,必须在类路径中包含JAR文件。 JAR文件最有可能被命名为commons-collections-3.2.1.jar(或类似的东西)。

如果您要创建打包在WAR文件中的Web应用程序,那么应该将该库放在WAR文件中的WEB-INF/lib文件夹中。

0

是的,即使现在有一个新的v4.x公共收藏,4.x不工作!

所以,得到3.x版,即旧的最高版本:V3.2.1

如果你正在使用maven,像我,这是我的完整的工作依赖列表:

<dependency> 
<groupId>net.sf.json-lib</groupId> 
<artifactId>json-lib</artifactId> 
<version>2.4</version> 
<!-- <classifier>jdk15</classifier> --> 
    </dependency> 

    <dependency> 
<groupId>commons-io</groupId> 
<artifactId>commons-io</artifactId> 
<version>2.4</version> 
    </dependency> 

    <dependency> 
<groupId>commons-collections</groupId> 
<artifactId>commons-collections</artifactId> 
<version>3.2.1</version> 
    </dependency> 

    <dependency> 
<groupId>commons-beanutils</groupId> 
<artifactId>commons-beanutils</artifactId> 
<version>1.9.1</version> 
    </dependency> 

    <dependency> 
<groupId>commons-lang</groupId> 
<artifactId>commons-lang</artifactId> 
<version>2.6</version> 
    </dependency> 

    <dependency> 
<groupId>commons-logging</groupId> 
<artifactId>commons-logging</artifactId> 
<version>1.1.3</version> 
    </dependency> 

    <dependency> 
<groupId>net.sf.ezmorph</groupId> 
<artifactId>ezmorph</artifactId> 
<version>1.0.6</version> 
    </dependency> 

    <dependency> 
<groupId>xom</groupId> 
<artifactId>xom</artifactId> 
<version>1.2.5</version> 
    </dependency>