zoukankan      html  css  js  c++  java
  • Unable to load the Wrapper's native library because none of the following files及解决方法

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

    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下载对应版本放进去就可以了。

  • 相关阅读:
    剑指Offer-11.二进制中1的个数(C++/Java)
    剑指Offer-10.矩形覆盖(C++/Java)
    剑指Offer-9.变态跳台阶(C++/Java)
    UVA 1608 Non-boring sequence 不无聊的序列(分治,中途相遇)
    UVA1607 Gates 与非门电路 (二分)
    UVA 1451 Average平均值 (数形结合,斜率优化)
    UVA 1471 Defense Lines 防线 (LIS变形)
    UVA 1606 Amphiphilic Carbon Molecules 两亲性分子 (极角排序或叉积,扫描法)
    UVA 11134 FabledRooks 传说中的车 (问题分解)
    UVA 1152 4 Values Whose Sum is Zero 和为0的4个值 (中途相遇)
  • 原文地址:https://www.cnblogs.com/zhjh256/p/6364514.html
Copyright © 2011-2022 走看看