我正在使用maven来构建一个项目。
我班上有一些图书馆进口。特别是edu.stanford.nlp.time.*;
我使用mvn compile
并且外行是可以的。
当我尝试通过mvn exec:java
执行程序时......由于
java.lang.NoClassDefFoundError: Could not initialize class edu.stanford.nlp.time.XMLUtils
这只发生在今天。几天前一切都很好。 我无法重现我做错了什么。
你们中有谁有想法吗?
诚恳
答案 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