Java Service Wrapper 3.2.3 в Mac OS X 64-битная - PullRequest
0 голосов
/ 21 августа 2009

Какой лучший способ запустить приложение с использованием Java Service Wrapper 3.2.3 в Mac OS X 64-bit?

sh.script.in работает, но нет версии macosx-universal-64 собственного двоичного файла оболочки (в любом случае на странице загрузок JSW 3.2.3 http://wrapper.tanukisoftware.org/downloads/3.2.3/).

Результатом является следующая ошибка в журналах:

INFO   | jvm 1    | 2009/08/20 14:47:15 | WARNING - Unable to load the Wrapper's native library because none of the
INFO   | jvm 1    | 2009/08/20 14:47:15 |           following files:
INFO   | jvm 1    | 2009/08/20 14:47:15 |             libwrapper-macosx-x86-64.jnilib
INFO   | jvm 1    | 2009/08/20 14:47:15 |             libwrapper-macosx-universal-64.jnilib
INFO   | jvm 1    | 2009/08/20 14:47:15 |             libwrapper.jnilib
INFO   | jvm 1    | 2009/08/20 14:47:15 |           could be located on the following java.library.path:
INFO   | jvm 1    | 2009/08/20 14:47:15 |             /Applications/EngineManager/.
INFO   | jvm 1    | 2009/08/20 14:47:15 |           Please see the documentation for the wrapper.java.library.path
INFO   | jvm 1    | 2009/08/20 14:47:15 |           configuration property.
INFO   | jvm 1    | 2009/08/20 14:47:15 |           System signals will not be handled correctly.

Кроме того, при попытке перезагрузить систему появляется сообщение об ошибке:

Logout has timed out because the application ...WrapperSimpleApp failed to quit. ...`

Я не могу перейти на более новую версию JSW, потому что они прошли GPL.

1 Ответ

0 голосов
/ 24 августа 2009

Я скачал исходный код Wrapper 3.2.3 и скомпилировал 64-битную версию macosx x86, которая избавилась от предупреждения о нативной библиотеке.

Затем я заметил, что могу перезапустить систему из командной строки с помощью sudo, и решил, что пользовательский перезапуск («Apple Menu» / Restart) не имеет разрешения на остановку службы. Я подумал, что, возможно, пользовательский перезапуск пытается остановить службу, потому что он использует иконку в трее java.awt.SystemTray. Я изменил службу так, чтобы она работала без головы и вуаля, после чего пользовательский перезапуск выполнялся без ошибок.

...