Я изучаю Grinder 3.11 для написания тестов производительности. Вот мой тестовый скрипт, написанный на Jython:Grinder/Jython не удается найти класс в импортированной библиотеке
from java.lang import ClassLoader
from com.fasterxml.jackson.databind import ObjectMapper
from java.net import URL, URLClassLoader
cl = ClassLoader.getSystemClassLoader()
for url in cl.getURLs():
print url.getFile()
class TestRunner:
def __call__(self):
self.test_scenario()
Когда я запускаю его с Grinder я получаю следующее сообщение об ошибке
2015-03-16 11:52:56,783 ERROR krk-mpfxv-16: aborting process - Java exception initialising test script
net.grinder.scriptengine.jython.JythonScriptExecutionException: Java exception initialising test script
from com.fasterxml.jackson.databind import ObjectMapper
File "/Users/mgawinec/projects/grinder-test/src/test/resources/./krk-mpfxv-file-store/current/grinder.py", line 4, in <module>
java.lang.NoClassDefFoundError: Could not initialize class com.fasterxml.jackson.databind.ObjectMapper
at java.lang.Class.forName0(Native Method) ~[na:1.8.0_05]
at java.lang.Class.forName(Class.java:340) ~[na:1.8.0_05]
Когда я заметил, импорт для jackson
библиотеки и печатал банки в пути к классам с остальная часть сценария я получил
/Users/xx/projects/grinder-test/src/test/resources/lib/grinder.jar
/Users/xx/projects/grinder-test/src/test/resources/lib/jackson-databind-2.2.3.jar
/Users/xx/projects/grinder-test/src/test/resources/lib/htmlcleaner-2.6.1.jar
/Users/xx/projects/grinder-test/src/test/resources/lib/jackson-core-2.0.0.jar
/Users/xx/projects/grinder-test/src/test/resources/lib/grinder-dcr-agent-3.11.jar
И после перепроверки я могу подтвердить, что ObjectMapper
класса находится в правильном пакете в jackson-databind-2.2.3.jar
.
У меня не было таких проблем с другими внешними библиотеками в комбинации Jython/Grinder.
Как я могу найти причину проблемы?