使用maven时导入时出现NoClassDefFoundError

时间:2013-12-16 19:26:47

标签: java maven noclassdeffounderror stanford-nlp

我正在使用maven来构建一个项目。 我班上有一些图书馆进口。特别是edu.stanford.nlp.time.*;

我使用mvn compile并且外行是可以的。 当我尝试通过mvn exec:java执行程序时......由于

,它会启动但在某些时候失败
java.lang.NoClassDefFoundError: Could not initialize class edu.stanford.nlp.time.XMLUtils

这只发生在今天。几天前一切都很好。 我无法重现我做错了什么。

你们中有谁有想法吗?

诚恳

2 个答案:

答案 0 :(得分:0)

可能你使用Spring框架或其他东西

没有说明确切的信息。 但似乎在创建上下文或某种初始化期间会出现问题

我的意思是在xml配置中可以提到一些缺少的类,例如。

答案 1 :(得分:0)

当您的源代码中有类但无法初始化类时,会出现NoClassDefFoundError http://docs.oracle.com/javase/7/docs/api/java/lang/NoClassDefFoundError.html

如果您有静态代码块,请检查是否发生任何错误。在这种情况下,您的案例中最危险的模式可能与类加载Class.forName

有关

但是如果它只发生在maven上,那么这个XMLUtils中的一个导入很可能在运行时范围内不可用。你可能会在测试范围内引用一些东西。 为了分析不同的范围,我通常使用antrun插件http://maven.apache.org/plugins/maven-antrun-plugin/examples/classpaths.html