我尝试了几种方法(Google,Stack Overflow ...),并在几天内解决了以下错误,但没有成功。这个错误只发生在我运行应用程序时。编译不受影响。在Intellij IDEA的Jar文件中找不到的类
org.databene.commons.ConfigurationError: Class not found: 'org.databene.benerator.engine.DefaultBeneratorFactory' at org.databene.commons.ExceptionMapper.configurationException(ExceptionMapper.java:121) at org.databene.commons.BeanUtil.forName(BeanUtil.java:358) at org.databene.commons.BeanUtil.newInstance(BeanUtil.java:423) at org.databene.benerator.BeneratorFactory.getInstance(BeneratorFactory.java:56) at org.databene.benerator.util.GeneratorUtil.init(GeneratorUtil.java:54) at testGeneration.TestCaseGenerator.generateTests(TestCaseGenerator.java:326)
也就是说,如果我尝试实例DefaultBeneratorFactory类的一个对象,看上去没有什么问题。
GeneratorUtil.init(stringGenerator);
我已经开发的应用程序是在OS X埃尔卡皮坦为IntelliJ IDEA的社区版插件(2016年2月4日的版本):当我调用一个方法来启动发电机的错误表现。 Java环境是Oracle JDK 8u102。我的插件使用Databene Benerator框架,可以作为一组Jars下载。我包括在项目对应的瓶当库:
The libraries in Project Settings
见依存:
The dependencies in Project Settings
我跟一些建议:
1)标记为每个导出选项罐。 Link
2)更改输出路径并设置全局库。 Link
3)使用以前版本的IDEA,尝试更早的JDK,使IDEA无效缓存。
另一个重要的信息,我的插件的Eclipse版本在相同的环境中具有完全的功能,具有相同版本的Benerator框架。所以,我认为这里有一些IDEA的特殊性。
任何帮助非常感谢!
我认为问题在于Intellij Idea如何处理jar中的类。 DefaultBeneratorFactory.class位于正确路径的jar中:org/databene/benerator/engine。任何人都可以解释这个
Ramachandran,您提到了一个已添加到我的Idea项目中的jar。实际上,指出错误的类是在jar数据块中。 – EulerM