nGrinder v3.2.3 을 사용하고 있습니다.
CASSANDRA 로드테스트를 위하여 간단한 자바코드로 접속, 조회 기능을 하는 부분을 만들고 nGrider Goovy Maven 프로젝트에서 lib 하부에 등록하여 사용하고자 합니다. 이클립스에서 해당 프로젝트를 생성하여 테스트를 진행하고 서버에 올려서 테스트를 진행하면 아래와 같은 메시지가 나옵니다. Caused by: java.lang.NoClassDefFoundError: me/prettyprint/hector/api/Serializer 그래서 pom.xml 에 카산드라관련 부분을 추가하였습니다. <dependency> <groupId>me.prettyprint</groupId> <artifactId>hector-core</artifactId> <version>1.0-3</version> </dependency> 그랬더니 ... 이번에는 아래와 같은 메시지가 발생하고 있습니다. 2014-02-12 07:37:19,760 INFO The Grinder version 3.9.1 2014-02-12 07:37:19,767 INFO Java(TM) SE Runtime Environment 1.6.0_45-b06: Java HotSpot(TM) Client VM (20.45-b01, mixed mode) on Linux i386 3.2.0-23-generic-pae 2014-02-12 07:37:19,773 INFO time zone is UTC (+0000) 2014-02-12 07:37:20,014 INFO worker process 0 of agent number 0 2014-02-12 07:37:20,056 INFO instrumentation agents: byte code transforming instrumenter for Java; byte code transforming instrumenter for Java 2014-02-12 07:37:21,042 ERROR script error - Error while iniialize test runner net.grinder.engine.common.EngineException: Error while iniialize test runner at net.grinder.scriptengine.groovy.GroovyScriptEngine.<init>(GroovyScriptEngine.java:73) ~[ngrinder-groovy-3.2.3.jar:na] at net.grinder.scriptengine.groovy.GroovyScriptEngineService.createScriptEngine(GroovyScriptEngineService.java:112) ~[ngrinder-groovy-3.2.3.jar:na] at net.grinder.engine.process.ScriptEngineContainer.getScriptEngine(ScriptEngineContainer.java:105) ~[grinder-core-3.9.1.jar:na] at net.grinder.engine.process.GrinderProcess.run(GrinderProcess.java:357) ~[grinder-3.9.1-patch.jar:na] at net.grinder.engine.process.WorkerProcessEntryPoint.run(WorkerProcessEntryPoint.java:87) [grinder-core-3.9.1.jar:na] at net.grinder.engine.process.WorkerProcessEntryPoint.main(WorkerProcessEntryPoint.java:60) [grinder-core-3.9.1.jar:na] Caused by: java.lang.NoSuchFieldError: NULL at org.junit.runners.ParentRunner.<init>(ParentRunner.java:48) ~[junit-dep-4.8.2.jar:na] at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:58) ~[junit-dep-4.8.2.jar:na] at net.grinder.scriptengine.groovy.junit.GrinderRunner.<init>(GrinderRunner.java:102) ~[ngrinder-groovy-3.2.3.jar:na] at net.grinder.scriptengine.groovy.GrinderContextExecutor.<init>(GrinderContextExecutor.java:47) ~[ngrinder-groovy-3.2.3.jar:na] at net.grinder.scriptengine.groovy.GroovyScriptEngine.<init>(GroovyScriptEngine.java:65) ~[ngrinder-groovy-3.2.3.jar:na] ... 5 common frames omitted ~/.ngrinder_agent/file-store/admin/incoming/lib 에 위 pom.xml 에 추가하 hector 와 의존성이 있는 아래 jar 들이 들어와 있는데요. 그중 junit-4.4.jar 와 충돌이 발생하는 것은 아닌지요? |
Administrator
|
옙. nGrinder 는 JUnit 4.8.2 와 강력한 연관 관계를 가지고 있습니다.
사실상 JUnit 4.8.2 의 버그를 활용한 실행 엔진입니다. -.-; 따라서 카산드라의 Junit 4.4를 pom.xml 에서 exclude 처리하시기 바랍니다. |
아래와 같이 junit 4.4 빼기 하고 하니 test 리포트가 쫘르륵 그려집니다. 아이콘 깜빡이다가 그래프가 그려지가 시작할때 묘한 쾌감이 있네요. 감사합니다.
그루비 + 메이븐 조합이 여러모로 편한데 ... 샘플이 많이 접하지 못해 불편하네요. 따로 모아둔 곳이 없을까요? <dependency> <groupId>me.prettyprint</groupId> <artifactId>hector-core</artifactId> <version>1.0-3</version> <exclusions> <exclusion> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> </exclusions> </dependency> |
Administrator
|
Maven 쪽은 사실.. pom.xml 내의 영어 주석들을 자세히 살펴보시면, 거의 필요한 모든 내용이 다 있습니다~
예를들어.. 앞서 하신 방법중에 lib 폴더에 jar 파일들을 등록해 주셨는데.. <dependency> <groupId>your_lib</groupId> <artifactId>your_lib</artifactId> <version>your_lib_version</version> <scope>system</scope> <systemPath>${project.basedir}/lib/hello.jar</systemPath> </dependency> pom.xml 에는 위와 같은 샘플 pom 설정 방법이 이미 들어 있습니다. |
넵 한참고민한다가 기본 pom.xml 에 보니 주석으로 친절하게 샘플을 넣어 두셨더라구요 ^^ 감사합니다.
위에서 이야기한 샘플은 maven 보담은 groovy 쪽 샘플을 이야기한것인데요. http://www.cubrid.org/wiki_ngrinder/entry/how-to-bind-native-libraries 이런 부분들을 참고해서 레코딩 하거나 하는 방법들을 보고있습니다. 따로 그루비만 쫘악 모아둔 곳이 없나 해서 추가 질문을 드렸엇습니다. 즐거운 한주되세요. |
Free forum by Nabble | Edit this page |