JMeter无法识别user.properties中的类路径

时间:2019-09-25 02:13:17

标签: java jmeter wso2 classpath

我正在使用JMeter 5.0 r版本,并且正在关注[本教程] (https://docs.wso2.com/display/EI630/Point-to-Point+Messaging#865c10b8d4d64ac688d6a0799cfb6012),

enter image description here

jndiqueues.properties

# register some connection factories
# connectionfactory.[jndiname] = [ConnectionURL]
connectionfactory.QueueConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5675'

# register some queues in JNDI using the form
# queue.[jndiName] = [physicalName]
queue.FirstQueue = myfirstqueue

当我运行此JMS发布器时,出现以下错误:

Response message: javax.naming.NamingException: javax.naming.NoInitialContextException: Cannot instantiate class: org.wso2.andes.jndi.PropertiesFileInitialContextFactory  [Root exception is java.lang.ClassNotFoundException: org.wso2.andes.jndi.PropertiesFileInitialContextFactory ]

这个jar在lib文件夹中已经存在,我仍然想添加它到类路径中,因为它给出了这个错误。因此,我编辑了user.properties文件,就像答案here中提到的那样:

user.classpath=../classes;../lib;../app1/jar1.jar;../app2/jar2.jar;../lib/andes-client-4.0.0.jar

但是仍然出现相同的错误。我在做什么错了?

2 个答案:

答案 0 :(得分:0)

如果将andes-client-4.0.0.jar复制到JMeter安装目录的“ lib”文件夹中,则无需设置user.classpath属性,JMeter将自动选择它。

请记住,对于任何属性更改应用程序,以及在JMeter Classpath下添加.jars时,都需要重新启动JMeter 。否则,更改将不会生效。

更多信息:

您还可以将库添加到Test Plan级别的JMeter Classpath中,例如:

enter image description here

在这种情况下,无需重启JMeter

答案 1 :(得分:0)

  1. 尝试与您相同的方法,但使用绝对类路径而不是相对路径

  2. 对我有用的是使用:

    <propertiesJMeter>
        <search_paths>${project.basedir}/some_path</search_paths>
        <user.classpath>${project.basedir}/some_path</user.classpath>
     </propertiesJMeter>
    

希望能帮到你