在Mac OS X 64位上使用Java Service Wrapper 3.2.3运行应用程序的最佳方法是什么?
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。
答案 0 :(得分:0)
我下载了Wrapper 3.2.3源代码并编译了一个macosx x86 64位版本,该版本摆脱了本机库警告。
然后我注意到我可以使用sudo
从命令行重启系统,并且发现用户发出的重启(“Apple Menu”/ Restart)没有权限停止服务。我想也许用户发出的重启试图停止服务,因为它使用的是java.awt.SystemTray托盘图标。我将服务更改为无头运行,然后用户发出重启然后执行而没有错误。