2011-01-07 81 views
8

如何解決以下錯誤? 有沒有一種方法可以將64位封裝器複製到那裏?如何在Windows上將ActiveMQ作爲64位服務安裝?

FATAL | wrapper | 2011/01/07 08:53:48 | OpenSCManager failed - Access is denied. (0x5) 
STATUS | wrapper | 2011/01/07 08:54:13 | ActiveMQ installed. 
STATUS | wrapper | 2011/01/07 08:54:25 | --> Wrapper Started as Service 
STATUS | wrapper | 2011/01/07 08:54:26 | Launching a JVM... 
INFO | jvm 1 | 2011/01/07 08:54:26 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org 
INFO | jvm 1 | 2011/01/07 08:54:26 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved. 
INFO | jvm 1 | 2011/01/07 08:54:26 | 
INFO | jvm 1 | 2011/01/07 08:54:26 | 
INFO | jvm 1 | 2011/01/07 08:54:26 | WARNING - Unable to load the Wrapper's native library 'wrapper.dll'. 
INFO | jvm 1 | 2011/01/07 08:54:26 |   The file is located on the path at the following location but 
INFO | jvm 1 | 2011/01/07 08:54:26 |   could not be loaded: 
INFO | jvm 1 | 2011/01/07 08:54:26 |    C:\stuff\apache-activemq-5.4.2\bin\win32\..\..\bin\win32\wrapper.dll 
INFO | jvm 1 | 2011/01/07 08:54:26 |   Please verify that the file is readable by the current user 
INFO | jvm 1 | 2011/01/07 08:54:26 |   and that the file has not been corrupted in any way. 
INFO | jvm 1 | 2011/01/07 08:54:26 |   One common cause of this problem is running a 32-bit version 
INFO | jvm 1 | 2011/01/07 08:54:26 |   of the Wrapper with a 64-bit version of Java, or vica versa. 
INFO | jvm 1 | 2011/01/07 08:54:26 |   This is a 64-bit JVM. 
INFO | jvm 1 | 2011/01/07 08:54:26 |   Reported cause: 
INFO | jvm 1 | 2011/01/07 08:54:26 |    C:\stuff\apache-activemq-5.4.2\bin\win32\wrapper.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform 
INFO | jvm 1 | 2011/01/07 08:54:26 |   System signals will not be handled correctly. 
INFO | jvm 1 | 2011/01/07 08:54:26 | 

回答

17

我設法在Windows 7上成功地將ActiveMQ作爲服務安裝,而無需下載其他任何東西。你只需要修改一些配置設置。

如果你進入以下文件夾:C:\ Apache的ActiveMQ的-5.5.0 \ BIN \ WIN32

打開 「InstallService.bat」 文件在本地文本編輯器。

將腳本的底部部分修改爲如下所示。注意你的JAVA_HOME環境變量需要被設置,你需要把它作爲一個變量傳遞給包裝器。

:conf 
set _WRAPPER_CONF="%ACTIVEMQ_HOME%\bin\win32\wrapper.conf" 

set _ACTIVEMQ_HOME="set.ACTIVEMQ_HOME=%ACTIVEMQ_HOME%" 
set _ACTIVEMQ_BASE="set.ACTIVEMQ_BASE=%ACTIVEMQ_BASE%" 
set _JAVA_HOME="set.JAVA_HOME=%JAVA_HOME%" 

rem 
rem Install the Wrapper as an NT service. 
rem 
:startup 
"%ACTIVEMQ_HOME%\bin\win32\wrapper.exe" -i %_WRAPPER_CONF% %_ACTIVEMQ_HOME% %_ACTIVEMQ_BASE% %_JAVA_HOME% 
if not errorlevel 1 goto :eof 
pause 

起來,然後打開 「C:\ Apache的ActiveMQ的-5.5.0 \ BIN \ WIN32 \ wrapper.conf」 在本地文本編輯器

並改變這一點:

# Java Application 
wrapper.java.command=java 

爲此:

# Java Application 
wrapper.java.command=%JAVA_HOME%\bin\java.exe 

一旦你這樣做,你應該能夠成功運行InstallService.bat。

另外,如果你希望能夠使用UninstallService.bat文件爲好,打開它,並硬編碼的路徑,包裝,以及:

rem 
rem Uninstall the Wrapper as an NT service. 
rem 
:startup 
"%ACTIVEMQ_HOME%\bin\win32\wrapper.exe" -r %_WRAPPER_CONF% 
if not errorlevel 1 goto :eof 
pause 

的ActiveMQ 5.6.0注意事項 我剛剛安裝了ActiveMQ的最新版本5.6.0,它實際上包含此版本的64位包裝器。如果你嘗試點擊InstallService.bat文件,它仍然會失敗,給你一個這樣的錯誤: InstallService.bat error

如果以管理員身份打開Windows命令提示符並從命令行運行InstallService.bat文件,它將起作用。

"%ACTIVEMQ_HOME%\bin\win64\wrapper.exe" 
+0

讓我的希望有一段時間了,但最終沒有爲我工作。 – Fletch

+0

這個def可以在Windows 7上運行,我現在已經在大約10臺不​​同的機器上安裝了它,它似乎在所有這些機器上都能正常工作。我會再看看我的bat文件,並確保我沒有錯過任何東西 – 2potatocakes

+0

這不適用於64位Windows 7.我已經在Windows 7 x64企業版上使用ActiveMQ 5.4.3和5.5.1嘗試了此操作。 您需要一個目前在社區版中不可用的64位包裝器。 – Pada

1

我來到這裏,因爲我有:否則,如果你絕對堅持能夠點擊bat文件,如果您修改BAT文件,上面除了記得在這條線的,而不是從Win32到使用Win64上,將工作問題與ActiveMQ 5.5.1,但啓動服務時發生不同的錯誤(類似'無法創建一個tmp文件夾')。

該解決方案非常簡單。我在這裏找到:https://issues.apache.org/jira/browse/AMQ-2946

基本上,您突出部分必須手動兩個文件夾創建:

{AMQ-HOME} /斌/的Win32 /工作 和 {AMQ-HOME} /斌/的Win32/TEMP

希望這會有所幫助。

+0

This是我的解決方案,雖然我不應該這樣做國際海事組織。爲什麼ActiveMQ不爲我創建它? – Quirijn

+0

@Quirijn我同意你,我認爲這是一個錯誤。不是每個人都使用Windows ... – unludo

1

如果您嘗試安裝並運行ActiveMQ 5.7.0作爲Windows服務,他們忘記將wrapper.jar文件包含到發行版中。您需要下載發行版ActiveMQ 5.6.0,從此版本的BIN文件夾中取wrapper.jar,並將其複製到5.7.0的相應BIN文件夾中。那麼它應該工作。不要忘記,您需要以管理員身份運行服務安裝腳本(右鍵單擊BAT文件,以管理員身份運行)

+0

聲音像這是安裝最新的ActiveMQ 5.7.0作爲服務的主要問題:[link](http://activemq.2283324.n4.nabble.com/ActiveMQ-5-7-0-startup-error-wrapper- JAR-td4657797.html) – user1946713

0

使用procrun(請參閱上面的LostInComputer的答案)時,可能需要添加以下JVM安裝該服務時的選項,以便$ {activemq.conf}和$ {activemq.data}變量在服務啓動時正確解析:

++ JvmOptions = -Dactivemq.conf = C:\ Java \ apache -activemq-5.7.0 \ conf ++ JvmOptions = -Dactivemq.data = C:\ Java \ apache-activemq-5.7.0 \ data

使用您自己的安裝路徑替代片段中的絕對路徑。