1

パフォーマンス テストのスクリプトを作成するために Grinder 3.11 を学習しています。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()

グラインダーで起動すると、次のエラーが発生し続けます

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クラスパスのjarファイルを取得した残りのスクリプトとともに出力したとき

/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 を組み合わせた他の外部ライブラリでは、このような問題はありませんでした。

問題の根本原因を見つけるにはどうすればよいですか?

4

1 に答える 1

1

これは、ObjectMapper が CLASSPATH にないクラスを呼び出していることを意味します。

于 2015-04-16T17:53:22.180 に答える