2014-01-22 82 views
0

我在使用「Java請求取樣器」的JMeter GUI中創建了一個測試計劃。如何在非GUI模式下將JAR文件添加到JMeter的類路徑

我將包含實現的jar文件添加到我的採樣器到我的jmeter安裝的/ lib/ext /中。

這一切工作正常,當我在GUI模式下運行它。

但是當我切換到非GUI模式下使用

./jmeter -n -t Test\ Plan.jmx 

我得到:

com.mycompany.JavaSamplerTest java.lang.ClassNotFoundException 

2014/01/23 15:25:25 ERROR - jmeter.protocol.java.sampler.JavaSampler: [email protected] Request Exception initialising: com.mycompany.JavaSamplerTest java.lang.ClassNotFoundException: com.mycompany.JavaSamplerTest 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:270) 
at org.apache.jmeter.protocol.java.sampler.JavaSampler.initClass(JavaSampler.java:117) 
at org.apache.jmeter.protocol.java.sampler.JavaSampler.testStarted(JavaSampler.java:263) 
at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:214) 
at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:336) 
at java.lang.Thread.run(Thread.java:744) 

我不知道爲什麼使用-n -t當這種行爲會有所不同。有人有解決這個問題嗎?

我在Linux上使用openjdk工作,如果這在某種程度上是一個有用的信息。

回答

1

將jar放入jmeter/lib文件夾中。

lib/ext是針對真正的插件。

+0

好,謝謝我做到了,但它並沒有改變任何行爲。 –

+0

你能顯示jmeter.log內容嗎?你確定你的班級沒有缺失的依賴嗎? –

+0

我將編輯異常到問題中。我不這麼認爲,因爲它在GUI模式下工作得很好。 –

1

How do I run JMeter in non-gui mode文章中,你可以使用-J鍵向JMeter的提供額外的路徑元素的位置如下圖所示:

./jmeter -Juser.classpath=/some/folder/your/extension.jar -n -t ${path_to_your_script} -l ${path_to_results}

+0

謝謝,我已經試過了,並沒有改變任何行爲。 –

0

其添加爲JMeter的插件內的依賴性:

<dependencies> 
      <dependency> 
       <groupId>postgresql</groupId> 
       <artifactId>postgresql</artifactId> 
       <version>9.0-801.jdbc4</version> 
      </dependency> 
相關問題