BeanComparator 生成一个 NoClassDefFoundError
BeanComparator generates a NoClassDefFoundError
只是尝试使用 BeanComparator,但我遇到了一些无法解决的错误:
BeanComparator comparator = new BeanComparator("age");
Collections.sort(myList, comparator);
comparator = new BeanComparator("name");
Collections.sort(myList, comparator);
comparator = new BeanComparator("sickness");
Collections.sort(myList, comparator);
运行 此代码生成以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/comparators/ComparableComparator
at org.apache.commons.beanutils.BeanComparator.<init>(BeanComparator.java:81)
at testBeanComparator.TestBeanComparator.main(TestBeanComparator.java:23)
这是我设置的基本 java 应用程序,用于隔离 BeanComparator 问题。
我将 jar 包含在 maven 中:
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils-bean-collections</artifactId>
<version>1.8.3</version>
</dependency>
知道是什么原因造成的吗?
提前致谢。
当您在eclipse中构建具有依赖项的maven项目时,将构建jar并且输出jar文件是maven本地存储库作为您提到的位置。
构建 jar 后,如果您需要执行 jar 文件,您应该在 class 路径中添加 commons-beanutils 以执行 jar。
即)java -jar -cp
正如您所说,缺少依赖项,因此请尝试添加依赖项,您可以通过右键单击项目并单击构建路径并单击 Maven 依赖项来验证这一点。
如果您通过 运行 mvn 命令手动构建,那么在构建 jar 文件时缺少依赖项时会出现错误。
确保 commons-beanutils.jar
以及 commons-logging.jar
和 commons-collections.jar
。我尝试关注 commons-beanutils-1.9.2 , commons-logging-1.2, commons-collections-3.2.1
只是尝试使用 BeanComparator,但我遇到了一些无法解决的错误:
BeanComparator comparator = new BeanComparator("age");
Collections.sort(myList, comparator);
comparator = new BeanComparator("name");
Collections.sort(myList, comparator);
comparator = new BeanComparator("sickness");
Collections.sort(myList, comparator);
运行 此代码生成以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/comparators/ComparableComparator
at org.apache.commons.beanutils.BeanComparator.<init>(BeanComparator.java:81)
at testBeanComparator.TestBeanComparator.main(TestBeanComparator.java:23)
这是我设置的基本 java 应用程序,用于隔离 BeanComparator 问题。 我将 jar 包含在 maven 中:
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils-bean-collections</artifactId>
<version>1.8.3</version>
</dependency>
知道是什么原因造成的吗?
提前致谢。
当您在eclipse中构建具有依赖项的maven项目时,将构建jar并且输出jar文件是maven本地存储库作为您提到的位置。 构建 jar 后,如果您需要执行 jar 文件,您应该在 class 路径中添加 commons-beanutils 以执行 jar。 即)java -jar -cp 正如您所说,缺少依赖项,因此请尝试添加依赖项,您可以通过右键单击项目并单击构建路径并单击 Maven 依赖项来验证这一点。 如果您通过 运行 mvn 命令手动构建,那么在构建 jar 文件时缺少依赖项时会出现错误。
确保 commons-beanutils.jar
以及 commons-logging.jar
和 commons-collections.jar
。我尝试关注 commons-beanutils-1.9.2 , commons-logging-1.2, commons-collections-3.2.1