2015-10-13 77 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