在有几个应用中,在启动的时候发现下列警告:

The version of the script (3.5.29) doesn't match the version of this Wrapper (3.5.27). This might cause some problems
--> Wrapper Started as Daemon
Java Service Wrapper Community Edition 64-bit 3.5.27
Copyright (C) 1999-2015 Tanuki Software, Ltd. All Rights Reserved.
http://wrapper.tanukisoftware.com

Launching a JVM...
WrapperManager: Initializing...
WrapperManager:
WrapperManager: WARNING - Unable to load the Wrapper's native library because none of the
WrapperManager: following files:
WrapperManager: libwrapper-linux-x86-64.so
WrapperManager: libwrapper.so
WrapperManager: could be located on the following java.library.path:
WrapperManager: /data/src/osm-route/bin/../lib
WrapperManager: Please see the documentation for the wrapper.java.library.path
WrapperManager: configuration property.
WrapperManager: System signals will not be handled correctly.
WrapperManager:
17-02-04 11:26:13.164 INFO WrapperSimpleAppMain org.springframework.context.support.AbstractApplicationContext.prepareRefresh(AbstractApplicationContext.java:578): Refreshing org.springframework.context.suppor
t.ClassPathXmlApplicationContext@6ca9bb2b: startup date [Sat Feb 04 11:26:13 CST 2017]; root of context hierarchy

但是,程序是可以正常起来的(如果不能起来,则多半不是因为缺少上面两个so之一的原因)。

于是,笔者再看了下几个其他应用的lib,如下:

[root@iZ23nn1p4mjZ lib]# ll
total 344
-rw-r--r-- 1 root root 44664 Jan 16 13:35 libwrapper.so
-rw-r--r-- 1 root root 67882 Jan 16 13:35 wrapperdemo.jar
-rw-r--r-- 1 root root 124041 Jan 16 13:35 wrapper.jar
-rw-r--r-- 1 root root 106706 Jan 16 13:35 wrappertest.jar
[root@iZ23nn1p4mjZ lib]# cd ../../osm-all/lib
[root@iZ23nn1p4mjZ lib]# ll
total 344
-rw-r--r-- 1 root root 44664 Jan 16 13:35 libwrapper.so
-rw-r--r-- 1 root root 67882 Jan 16 13:35 wrapperdemo.jar
-rw-r--r-- 1 root root 124041 Jan 16 13:35 wrapper.jar
-rw-r--r-- 1 root root 106706 Jan 16 13:35 wrappertest.jar
[root@iZ23nn1p4mjZ lib]# cd ../../osm-route/lib
[root@iZ23nn1p4mjZ lib]# ll
total 632
-rw-r--r-- 1 root root 67882 Jan 16 13:35 wrapperdemo.jar
-rw-r--r-- 1 root root 337176 Jan 16 13:35 wrapper.dll
-rw-r--r-- 1 root root 124041 Jan 16 13:35 wrapper.jar
-rw-r--r-- 1 root root 106706 Jan 16 13:35 wrappertest.jar
[root@iZ23nn1p4mjZ lib]# cd ../../osm-trade/lib
[root@iZ23nn1p4mjZ lib]# ll
total 344
-rw-r--r-- 1 root root 44664 Jan 16 13:35 libwrapper.so
-rw-r--r-- 1 root root 67882 Jan 16 13:35 wrapperdemo.jar
-rw-r--r-- 1 root root 124041 Jan 16 13:35 wrapper.jar
-rw-r--r-- 1 root root 106706 Jan 16 13:35 wrappertest.jar

其中一个确实没有libwrapper.so,再看下这个so的作用,如下:

The Java component of Java Service Wrapper requires that a native library be loaded to be able to handle system signals and perform other functions which are not possible using the Java API. This property allows the name of the library to be modified to suit the needs of a particular application. In general, most users should not need to use this property.

The Java language specifies some rules about how Java Native Libraries (JNI) can be named. The Wrapper's library is no exception and must follow these naming conventions.

To explain this, we will use the default base name "wrapper" as an example.

Example:
wrapper.native_library=wrapper
  • On Windows systems, the library file name will be "wrapper.dll".
  • On Mac OSX systems, the library file name will be "libwrapper.jnilib".
  • And on all other Linux/UNIX platforms, the library file name will be "libwrapper.so".

If this property is given any other value, that base-name will be used to construct the actual name of the native library file using the above rules.

Library Path:

Regardless of the name specified, the native library must be located within a directory specified using thewrapper.java.library.path.<n> property.

Platform specific native libraries:

The Wrapper also provides a facility to make it easy to create binary distributions that run on any platform, even if the application makes use of native libraries. In detail, see the Platform specific native libraries.

所以,其实libwrapper其实是处理平台相关的一些信号的,比如kill -N的个中含义。并不影响其本身,当然最好是应该有的。万一不见了的话,可以从官网http://wrapper.tanukisoftware.com/doc/english/download.jsp下载对应版本放进去就可以了。

Unable to load the Wrapper's native library because none of the following files及解决方法的更多相关文章

  1. fatal error: malformed or corrupted AST file: &#39;Unable to load module &quot;/Users/apple/Library/Developer

    在同一时候安装使用Xcode5, Xcode6之后, 常常遇到这个问题. fatal error: malformed or corrupted AST file: 'Unable to load m ...

  2. eclipse:运行 Android 项目时出现 “Unable to execute dex: Multiple dex files define” 解决方法

    android 项目在eclipse 出现Unable to execute dex: Multiple dex files define Conversion to Dalvik format fa ...

  3. Unable to execute dex: Multiple dex files define 解决方法

    程序编译正常,在用Eclipse调试执行时,报错Unable to execute dex: Multiple dex files define: 方法:      原因是有重复的.jar被引用,可以 ...

  4. [Android开发常见问题-11] Unable to execute dex: Multiple dex files define 解决方法

    最近在开发一个工程,其中用到了一个开源的库项目Android-ViewPagerIndicator. 这个项目是作为一个库出现的,如下图: 这个项目中包含了android-support-v4.jar ...

  5. 错误/异常:The project cannot be built until build path errors are resolved 和 Unbound classpath container: 'JRE System Library [JavaSE-1.7]' in project 'MyJavaCode';的解决方法

    错误1: The project cannot be built until build path errors are resolved 解决方法: 把java的类库加载进去即可,在工程上右键 选择 ...

  6. PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_mbstring.dll' 的解决方法

    step 1: cd /etc/php/{$yourphpversion}/cli step 2: sudo vim php.ini step 3: 在extension=php_mbstring.d ...

  7. 转:Unable to execute dex: Multiple dex files define 解决方法

    转自:http://blog.csdn.net/mxlxiao7/article/details/8978930 问题发生概述: 程序编译正常,在用Eclipse调试执行时,报错Unable to e ...

  8. XmlDocument.load 读文件报异常:文件正被其它线程使用,解决方法

    string filePath = Form1.getProjectFilePath(); System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocu ...

  9. Unable to execute dex:Multuple dex files define 解决方法

    困扰我两天的问题终于解决了,在网上查的方法无非有三种 一. Eclipse->Project->去掉Build Automatically->Clear ->Build Pro ...

随机推荐

  1. Zabbix忘记登录密码重置

    Zabbix忘记登录密码了 登录MySQL查看用户 select * from users\G 重置密码 mysql> use zabbix; mysql> update users se ...

  2. Saltstack实战之无master和多master

    如果不想依赖master可以设置为无master vim /etc/salt/minion 就可以通过minion来安装一个salt-master了(下来查资料做,关闭salt-minion进程因为不 ...

  3. 【紫书】Trees on the level UVA - 122 动态建树及bfs

    题意:给你一些字符串,代表某个值被插入树中的位置.让你输出层序遍历. 题解:动态建树. 由于输入复杂,将输入封装成read_input.注意输入函数返回的情况 再将申请新节点封装成newnode(). ...

  4. 服务器端FIN的条件

    服务器端FIN的条件_域名/网络_常见问题_对象存储 OSS-阿里云 https://help.aliyun.com/knowledge_detail/65427.html 服务器端FIN的条件 KB ...

  5. 数字货币量化教程——使用itertools实现各种排列组合

    在量化数据处理中,经常使用itertools来完成数据的各种排列组合以寻找最优参数 一.数据准备 import itertools items = [1, 2, 3] ab = ['a', 'b'] ...

  6. LightOj 1265 - Island of Survival(概率)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1265 题目大意:有一个生存游戏,里面t只老虎,d只鹿,还有一个人,每天都要有两个生物碰 ...

  7. 钱币兑换问题--hdu1284(完全背包)

    Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法.   Input 每行只有一个正整数N,N小于32768.   ...

  8. mysql 数据类型 目录

    mysql 数据类型 mysql 整数类型 数值类型 tinyint mysql int 整数类型 解释显示宽度 和 存储宽度 mysql float 浮点型 mysql 日期类型 mysql 字符串 ...

  9. 一张图学dockerfile

        Dockerfile是为快速构建docker image而设计的,当你使用dockerbuild 命令的时候,docker 会读取当前目录下的命名为Dockerfile(首字母大写)的纯文本文 ...

  10. 百度编辑器UEditor源码模式下过滤div/style等html标签

    UEditor在html代码模式下,当输入带有<div style="">.<iframe>这类带有html标签的内容时,切换为编辑器模式后,会发现输入的内 ...