ActiveMQ linux服务不接受应用程序参数中的--extdir

ActiveMQ linux服务不接受应用程序参数中的--extdir,activemq,Activemq,我正在调整ActiveMQ中的wrapper.conf,以便该服务将添加一个驼峰jar的extdir。 在windows包装器中,我能够更改应用程序参数,以便将extdir添加到启动中 # Application parameters. Add parameters as needed starting from 1 wrapper.app.parameter.1=org.apache.activemq.console.Main wrapper.app.parameter.2=--extdir

我正在调整ActiveMQ中的wrapper.conf,以便该服务将添加一个驼峰jar的extdir。 在windows包装器中,我能够更改应用程序参数,以便将extdir添加到启动中

# Application parameters.  Add parameters as needed starting from 1
wrapper.app.parameter.1=org.apache.activemq.console.Main
wrapper.app.parameter.2=--extdir "..\..\lib\companyname"
wrapper.app.parameter.3=start
这将在windows计算机上启动时成功加载lib文件夹

但是,当我更改linux wrapper.conf以匹配此配置时,它会失败,日志显示:

INFO   | jvm 1    | 2013/11/12 06:51:05 | INFO: Unrecognized option: --extdir "..\..\lib\companyname"
INFO   | jvm 1    | 2013/11/12 06:51:05 | Usage: Main [--extdir <dir>] [task] [task-options] [task data]
INFO | jvm1 | 2013/11/12 06:51:05 | INFO:无法识别的选项:--extdir“.\..\lib\companyname”
信息| jvm 1 | 2013/11/12 06:51:05 |用法:Main[--extdir][task][task options][task data]

计划对这些调整进行检查,因此要求服务正常工作。

此问题是由于windows和linux JVM处理参数的方式不同造成的

查看服务包装帮助我解决了这个问题。

解决方案是将--extdir和目录路径拆分为单独的参数,如下所示:

# Application parameters.  Add parameters as needed starting from 1
wrapper.app.parameter.1=org.apache.activemq.console.Main
wrapper.app.parameter.2=--extdir 
wrapper.app.parameter.3=/opt/apache-activemq-5.8.0/lib/companyname
wrapper.app.parameter.4=start