我嘗試了幾種方法(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