sigar.jar linux环境 webSphere容器所依赖的动态库如何配置

smile_java 2014-09-16 10:49:40
如题,sigar.jar所依赖的.so动态库文件找不到,在tomcat下能实现,打成war包加入到webSphere下自动生成ear包后就不行了,在所以java.library.path目录下都放过文件还是不行,和Jar包一起放到lib包下面还是不行,折腾到要崩溃了……
忘各位大虾大牛不啬赐教
...全文
1522 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
smile_java 2014-09-17
  • 打赏
  • 举报
回复
引用 10 楼 smile_java 的回复:
谢谢斑竹给的灵感,谢谢magi1201的热心回答,终于解决了。 解决思路: 第一步: 通过JAVA代码加载库文件,然后在Linux下面配置好LD_LIBRARY_PATH路径就可以了。下面贴上我的代码: Servlet的初始化方法中增加加载库文件代码: ListenerLogger.info("准备启动WebService服务"); // ListenerLogger.info("开始加载so文件"); // System.load("WEB-INF/lib/libsigar-amd64-linux.so"); // System.load("WEB-INF/lib/libsigar-x86-linux.so"); // ListenerLogger.info("完成加载so文件"); System.loadLibrary("/usr/lib/sigar-amd64-linux"); System.loadLibrary("/usr/lib/sigar-amd64-linux"); Endpoint.publish("http://10.145.9.67:9443/listenerService",new ListenerServiceImpl()); //192.168.3.37 ListenerLogger.info("已成功启动WebService服务"); 将文件libsigar-amd64-linux.so和libsigar-x86-linux.so放入到/usr/lib下面,但Java加载代码的时候文件名却值得注意,这里就是我之前失败的原因,文件名必须去掉前面的lib和后面的拓展名.so。 第二步: 配置LD_LIBRARY_PATH,指定路径为你的文件所放置的位置,如我放在/usr/lib/下面,所以我配置的方式是: export LD_LIBRARY_PATH=/usr/lib/ 至此,问题解决!
第一步文件名注意的地方不是说要修改文件本身的名字,是指在JAVA中加载文件的时候文件名不要写前面的lib和后面的拓展名.so。
smile_java 2014-09-17
  • 打赏
  • 举报
回复
谢谢斑竹给的灵感,谢谢magi1201的热心回答,终于解决了。 解决思路: 第一步: 通过JAVA代码加载库文件,然后在Linux下面配置好LD_LIBRARY_PATH路径就可以了。下面贴上我的代码: Servlet的初始化方法中增加加载库文件代码: ListenerLogger.info("准备启动WebService服务"); // ListenerLogger.info("开始加载so文件"); // System.load("WEB-INF/lib/libsigar-amd64-linux.so"); // System.load("WEB-INF/lib/libsigar-x86-linux.so"); // ListenerLogger.info("完成加载so文件"); System.loadLibrary("/usr/lib/sigar-amd64-linux"); System.loadLibrary("/usr/lib/sigar-amd64-linux"); Endpoint.publish("http://10.145.9.67:9443/listenerService",new ListenerServiceImpl()); //192.168.3.37 ListenerLogger.info("已成功启动WebService服务"); 将文件libsigar-amd64-linux.so和libsigar-x86-linux.so放入到/usr/lib下面,但Java加载代码的时候文件名却值得注意,这里就是我之前失败的原因,文件名必须去掉前面的lib和后面的拓展名.so。 第二步: 配置LD_LIBRARY_PATH,指定路径为你的文件所放置的位置,如我放在/usr/lib/下面,所以我配置的方式是: export LD_LIBRARY_PATH=/usr/lib/ 至此,问题解决!
smile_java 2014-09-17
  • 打赏
  • 举报
回复
引用 8 楼 FoxDave 的回复:
[quote=引用 7 楼 smile_java 的回复:] [quote=引用 6 楼 FoxDave 的回复:] webSphere是不是有什么路径的设定呢?
谢谢斑竹。。。 我也不知道是不是要配置些什么路径设定信息,里面有个控制台里面有个“环境”---->"WebSphere 变量",但是我在里面配置了我文件放置的位置也没起到作用。[/quote] 我没用过这些东西啊 只能提点建议 还要靠你自己研究一下了 一般网上搜不到的问题就是一些忽略的细节问题 好好检查一下[/quote] 嗯,只能慢慢研究了,要实在不行只能换个方式来实现功能了
Justin-Liu 2014-09-17
  • 打赏
  • 举报
回复
引用 7 楼 smile_java 的回复:
[quote=引用 6 楼 FoxDave 的回复:] webSphere是不是有什么路径的设定呢?
谢谢斑竹。。。 我也不知道是不是要配置些什么路径设定信息,里面有个控制台里面有个“环境”---->"WebSphere 变量",但是我在里面配置了我文件放置的位置也没起到作用。[/quote] 我没用过这些东西啊 只能提点建议 还要靠你自己研究一下了 一般网上搜不到的问题就是一些忽略的细节问题 好好检查一下
smile_java 2014-09-17
  • 打赏
  • 举报
回复
引用 6 楼 FoxDave 的回复:
webSphere是不是有什么路径的设定呢?
谢谢斑竹。。。 我也不知道是不是要配置些什么路径设定信息,里面有个控制台里面有个“环境”---->"WebSphere 变量",但是我在里面配置了我文件放置的位置也没起到作用。
Justin-Liu 2014-09-17
  • 打赏
  • 举报
回复
webSphere是不是有什么路径的设定呢?
smile_java 2014-09-17
  • 打赏
  • 举报
回复
引用 4 楼 magi1201 的回复:
[quote=引用 3 楼 smile_java 的回复:] war包没问题,tomcat我在Linux和windows下都试过可以使用,websphere它不是把war包解压,而是变成了ear包,项目servlet可以调用,所以项目是没问题的,只是调用sigar的时候找不到.so文件
tomcat环境时,.so文件放在什么位置呢?是在项目包中还是tomcat中还是放在操作系统里面呢? WebSphere环境可以找找对应的路径看看[/quote] tomcat下面是通过调用servlet获取System.getProperty("java.library.path")路径(通过Servlet调用获取的路径和系统配置环境变量有一点不同,用Main方法运动的时候输出的是环境变量PATH),然后将文件放到获取的路径下面就可以了,但是同样的方法在webSphere里面不行。
姜小白- 2014-09-17
  • 打赏
  • 举报
回复
引用 3 楼 smile_java 的回复:
war包没问题,tomcat我在Linux和windows下都试过可以使用,websphere它不是把war包解压,而是变成了ear包,项目servlet可以调用,所以项目是没问题的,只是调用sigar的时候找不到.so文件
tomcat环境时,.so文件放在什么位置呢?是在项目包中还是tomcat中还是放在操作系统里面呢? WebSphere环境可以找找对应的路径看看
姜小白- 2014-09-16
  • 打赏
  • 举报
回复
估计真没多少人遇到过吧 tomcat下能实现,tomcat是windows版的还是linux版的 如果是linux版的,那么放到websphere下面应该是没有什么问题的 打成war包不行,websphere会自动解压war包为文件包吗? weblogic自己不会解压war包,所以在weblogic中的路径问题,在war包中就找不到了 不知道楼主是否遇到这种问题了
smile_java 2014-09-16
  • 打赏
  • 举报
回复
这问题就真没人遇到过么?还是不屑于回答这类问题……
smile_java 2014-09-16
  • 打赏
  • 举报
回复
引用 2 楼 magi1201 的回复:
估计真没多少人遇到过吧 tomcat下能实现,tomcat是windows版的还是linux版的 如果是linux版的,那么放到websphere下面应该是没有什么问题的 打成war包不行,websphere会自动解压war包为文件包吗? weblogic自己不会解压war包,所以在weblogic中的路径问题,在war包中就找不到了 不知道楼主是否遇到这种问题了
war包没问题,tomcat我在Linux和windows下都试过可以使用,websphere它不是把war包解压,而是变成了ear包,项目servlet可以调用,所以项目是没问题的,只是调用sigar的时候找不到.so文件

2,633

社区成员

发帖
与我相关
我的任务
社区描述
WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。
社区管理员
  • WebSphere社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧