1

在 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。

4

2 回答 2

1

我下载了 Wrapper 3.2.3 源码,编译了一个 macosx x86 64 位版本,摆脱了原生库的警告。

然后我注意到我可以使用 命令行 从命令行重新启动系统sudo,并认为用户发出的重新启动(“Apple 菜单”/重新启动)没有停止服务的权限。我想也许用户发出的重新启动试图停止服务,因为它使用了 java.awt.SystemTray 托盘图标。我将服务更改为无头运行,瞧,用户发出的重新启动然后执行没有错误。

于 2009-08-24T00:00:30.990 回答
0

请确保在项目的 libs 文件夹中包含名为 libwrapper.jnilib 的本机库。例如{App_Dir}/libs/libwrapper.jnilib. 然后将其链接到 wrapper.conf 中,如下所示:

wrapper.java.library.path.1=../lib
于 2021-11-19T17:21:13.450 回答