2015-10-13 49 views
0

我在我的服务器上运行活动mq。我想升级到版本5.12,并检查文档,但那里指出我应该更改我的JAVA_HOME env路径。如何为活动mq设置特定的jdk版本5.12

问题是我无法更改我的JAVA_HOME设置,因为其他系统依赖于在那里设置的旧JRE 1.6版本。除了更改全局JAVA_HOME之外,是否有任何方法可以配置活动mq在运行时使用的jre/jdk版本?

谢谢!

+0

您是否尝试过编写脚本?基本上在脚本中,您将设置Java Home路径并调用jre/jdk。对于在机器上安装多个版本的jdk的环境,这已经是常规用例。您能否告诉我您尝试了什么以及您尝试执行哪个操作系统 – Acewin

+0

我们已经创建了一个脚本,但是我们很惊讶,activemq不会在其配置文件或脚本中引入某些东西,因为此用例似乎很有用对我来说很普通。我们还更改了脚本中的PATH变量,以便调用activemq清洁器 –

+0

这是一个非常好的点Marcelo,但似乎您没有检查activemq和env脚本。你指的是不存在 – Acewin

回答

1

创建一个脚本来导出你的特定的Java想使用和调用java命令

出口JAVA_HOME =的/ usr/JAVA/JDK/jdk1.6.0_35

$ JAVA_HOME /斌/ java的-jar activemq

您还需要定义classpath变量来加载依赖关系jar。

记住java是执行命令。而通过导出特定的Java,你基本上是通过这个java强制执行你的应用程序 - 新的更新。我应该早点想到这一点。在ActiveMQ中有名为

ActiveMQ的垃圾桶两个脚本 - 这是你会被执行,以独立模式运行的ActiveMQ

ENV脚本 - 这是包含环境设置的脚本,其中包括JAVA_HOME

来自activemq脚本的注释 此脚本的系统变量,如ACTIVEMQ_OPTS a nd ACTIVEMQ_OPTS_MEMORY, 可以在位于此目录中的'env'脚本中配置。 “这个目录”是指bin目录

设置JAVA_HOME在ENV您JAVA_HOME的特定版本。您会在脚本的最后一行中找到此环境变量

+0

嗨,当然这是一个选项,但我很惊讶,activemq在其配置文件中没有这样的参数,因为我认为我的用例很常见,最好的解决方案。 –

+0

我们在脚本中添加了这两行,包括PATH,以便调用activemq清理器并将所有内容都设置为java 8:'export JAVA_HOME =/usr/java/jdk1.8.0_25' export PATH =/usr /的Java/jdk1.8.0_25/bin中:/opt/apache-maven-3.1.1/bin:在/ usr /本地/ RVM /宝石/ R uby-1.9。3-P484 /斌:/usr/local/rvm/gems/[email protected]/bin:在/ usr /本地/ RVM /红宝石/红宝石1.9.3-P484 /斌:在/ usr/local/sbin:/ usr/local/bin:/ sbin:/ bin:/ usr/sbin:/ u sr/bin:/ usr/local/rvm/bin:/ root/bin.' –

+0

听起来不错。此外,我发现了另一种解决方法来帮助您 – Acewin

相关问题