2013-03-11 109 views
2

我的問題是關於JMeter和BeanShell PostProcessor。用JMeter調用java方法

我用Eclipse開發了一個Java項目並將該項目導出到jar中。我已經把這個jar放在JMeter的/ lib/ext文件夾中。

當我打電話java -jar C:\Program Files\apache-jmeter-2.9\lib\ext\myJar.jar一切工作正常。

現在我想在JMeter內部的jar中調用該方法。在我的Beanshell處理器內部,我把這個代碼:

import bsh.LoadProperties; 
import bsh.SSOTokenHelper; 

LoadProperties loadProperties = new LoadProperties(); 
loadProperties.init(); 

result = SSOTokenHelper.getSecurityToken(); 

有關信息,它是我在我的主類中的確切代碼。但是在JMeter中的日誌文件,我有這樣的消息:

jmeter.util.BeanShellInterpreter:錯誤調用BSH方法: EVAL源文件:內嵌的評價:``進口bsh.LoadProperties; import bsh.SSOTokenHelper; LoadProperties loadProper。 。 。 「」: 方法調用SSOTokenHelper.getSecurityToken

我不明白爲什麼它的工作時,我直接打電話給我的罐子,爲什麼當我通過JMeter的做同樣的事情不工作。

感謝您的幫助。

回答

1

bsh.SSOTokenHelper不是一個真正的BeanShell類,根據javadocs在http://www.beanshell.org/javadoc/index.html。您可能需要更正導入,或者如果您已編制SSOTokenHelper類,請將其放入不同的包中以避免混淆,並確保其類可用於JMeter。 OK。

+0

OK。謝謝你的幫助。 我自己做過這樣的課。我已經更改了包的名稱,並將新jar放在JMeter的/ lib/ext文件夾中,但仍然存在相同的問題。 – northix 2013-03-12 09:15:16

+0

你應該打開你製作的jar(在一個zip文件查看器中),並檢查你的目錄結構是否正確。看看jar文件上的Java教程http://docs.oracle.com/javase/tutorial/deployment/jar/ – artbristol 2013-03-12 09:27:47

+0

當我調用java-jar myJar.jar時,它工作正常。我的目錄結構可能是錯誤的?無論如何,我會拿一個你的鏈接的戰利品;) 我想知道是否有一些限制通過與Beanshell調用jar(例如:不明白通用類型)。 – northix 2013-03-12 09:38:25