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

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. 2018-2019-2 20165330《网络对抗技术》Exp1 PC平台逆向破解

    目录 实验目标 实验内容 知识点描述 实验步骤 实验过程中遇到的问题 实验感想 实验目标 本次实验的对象是一个名为pwn1的linux可执行文件. -该程序正常执行流程是:main调用foo函数,fo ...

  2. OpenJ_Bailian - 4152 最佳加法表达式 dp

    http://bailian.openjudge.cn/practice/4152?lang=en_US 题解 :dp[i][j]代表前i个字符加j个加号可以得到的最小值,于是dp[i+k[j+1]可 ...

  3. Gym-101375C MaratonIME eats japanese food 初始化struct技巧

    题意:两种操作:A ,R 分别有三个参数,表示放或者移走(x,y)处半径为r的盘子.5000次操作,每次操作判断是否可行. 题解:两种情况不行:1.相交2.放到桌子外面.5000的数据直接模拟,删除操 ...

  4. phpstrom 配置xdebug在vagrant上调试

    参数 linux system : centos6. vagrant: PHP: phpstrom:2017.2 步骤1: 安装xdebug扩展(已安装可跳过步骤1),首先去 xdebug官方下载扩展 ...

  5. -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

    本人使用mac系统,命令行工具使用的iterm2,登录自己的云主机的时候 每次都要提示如下错误 -bash: warning: setlocale: LC_CTYPE: cannot change l ...

  6. celery消息的编码和序列化(转)

    add by zhj: 原文讲的是序列化时的安全问题,不过,我关心的是怎样可以看到消息队列中的数据.下面是在broker中看到的消息,body是先用 body_encoding编码,然后用conten ...

  7. java进程和线程的区别

    什么是进程,什么是线程系统要做一件事,运行一个任务,所有运行的任务通常就是一个程序:每个运行中的程序就是一个进程,这一点在任务管理器上面可以形象的看到.当一个程序运行时,内部可能会包含多个顺序执行流, ...

  8. BUG笔记:Win8 IE10下input[type="password"]内字符显示被截取问题

    这个BUG发生的截图: 这是发生在Windows8 IE10下,type为password的input文本框内输入长串字符后,初次失去焦点的时候会发生的一个BUG. 发生BUG的原因是这个文本框上应用 ...

  9. 对innodb_flush_log_at_commit参数的写日志和刷盘行为进行图解

    对innodb_flush_log_at_commit参数的写日志和刷盘行为进行图解

  10. MutationObserver 监听DOM树变化

    1 概述 Mutation observer 是用于代替 Mutation events 作为观察DOM树结构发生变化时,做出相应处理的API.为什么要使用mutation observer 去代替 ...