高手指点:.so文件在tomcat下应放在什么位置?

时间:2021-09-28 12:45:08
各位大虾:
   我在开发商那里拿到了一些java开发包,还有一些.so文件(我的平台是linux)。
   我把.class文件放到了tomcat本应用的/WEB-INF/classes下,.so文件也放到了/classes下,但在测试时,出现了错误。我感觉原因是.so文件部署的位置不对。
   请教:我该把.so文件部署到什么位置?
   开发商手册上只是说要把.so文件放到 LD_LIB 这个系统环境变量里,我已经照做了。
   
   THANKS IN ADVANCE

6 个解决方案

#1


友情up。

#2


有三种可能性:

一是安全性,调用的.SO文件中调用了系统*环境,即对于JAVA来说是RUNTIME环境,则用JSP调用BEAN不能成功.

二是同一性,.SO文件的代码只能执行一次,对于JAVA来说是STATIC的,但没有声明为STATIC,则BEAN被调用一次就实便化一次,所以不能成功.

三是路径问题,SO文件是否用了绝对路径或在CLASSPATH中,如果作为APPLICATION调用SO,应该用绝对路径或在系统的CLASSPATH中,但作为BEAN调用应该放在SERVLET的引擎的根目录下或SERVLET的CLASSPATH中,即/WEB-INF/classes这样的目录而不是系统的CLASSPATH。

#3


so文件不是放在web_inf里面的吧?tomcat不认识它啊,应该放在系统的某个地方

#4


谢谢各位!

真不知道该怎么样了,放到WEB-INF及CLASSES下都不行,
就是不知道.SO怎么才能让TOMCAT识别到

HELP...

#5


顶,

#6


请高手指点啊,
解决后可再给分。

#1


友情up。

#2


有三种可能性:

一是安全性,调用的.SO文件中调用了系统*环境,即对于JAVA来说是RUNTIME环境,则用JSP调用BEAN不能成功.

二是同一性,.SO文件的代码只能执行一次,对于JAVA来说是STATIC的,但没有声明为STATIC,则BEAN被调用一次就实便化一次,所以不能成功.

三是路径问题,SO文件是否用了绝对路径或在CLASSPATH中,如果作为APPLICATION调用SO,应该用绝对路径或在系统的CLASSPATH中,但作为BEAN调用应该放在SERVLET的引擎的根目录下或SERVLET的CLASSPATH中,即/WEB-INF/classes这样的目录而不是系统的CLASSPATH。

#3


so文件不是放在web_inf里面的吧?tomcat不认识它啊,应该放在系统的某个地方

#4


谢谢各位!

真不知道该怎么样了,放到WEB-INF及CLASSES下都不行,
就是不知道.SO怎么才能让TOMCAT识别到

HELP...

#5


顶,

#6


请高手指点啊,
解决后可再给分。