2013-07-25 38 views
0

我試圖使用Java程序名JavaCANativeDispatcher我的web應用程序測試CorrectAddress API .war文件(Linux環境)testingCorrectAddress API。 將這個.war文件部署在Linux環境中的jboss應用程序服務器上。不能得到共享庫(的.so)-UnsatisfiedLink錯誤而在JBoss

CorrectA的位置是作爲下 - /apps/jboss-5.1.0.GA/IstCorrectAddress/libCorrectA.so
/apps/jboss-5.1.0.GA/IstCorrectAddress/Data/CorrectAddressData

路徑設置在bashrc中,碼作爲下 - #.bashrc中

# Source global definitions 
if [ -f /etc/bashrc ]; then 
    . /etc/bashrc 
fi 


# User specific aliases and functions 

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/apps/jboss-5.1.0.GA/IstCorrectAddress/libCorrectA.so; 
export LD_LIBRARY_PATH; 
export CA_DATA=/apps/jboss-5.1.0.GA/IstCorrectAddress/Data; 

當通過運行瀏覽器本申請(從視窗)終端用戶,它拋出上server.log-

以下錯誤
2013-07-23 15:06:21,830 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].  [localhost].[/].[Controller]] Servlet.service() for servlet Controller threw exception 
java.lang.UnsatisfiedLinkError:   com.gfw.biz.JavaCANativeDispatcher.FindCityCounty([C[C[C[C[C)I 
    at com.gfw.biz.JavaCANativeDispatcher.FindCityCounty(Native Method) 
    at com.gfw.biz.JavaCANativeDispatcher.CallFindCityCounty(JavaCANativeDispatcher.java:487) 
    at com.gfw.jsp.Address.standardize(Address.java:113) 
    at com.gfw.jsp.actions.SetMailOptOutsAction.validate(SetMailOptOutsAction.java:385) 
    at com.gfw.jsp.actions.SetMailOptOutsAction.execute(SetMailOptOutsAction.java:97) 
    at com.gfw.jsp.Controller.processRequest(Controller.java:72) 
    at com.gfw.jsp.Controller.doPost(Controller.java:114) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) 
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) 
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
    at java.lang.Thread.run(Unknown Source) 

注意 - 如果我通過給命令 的Java JavaCANativeDispatcher它的工作原理perfectly.i不僅沒有運行該程序運行在Linux服務器上的程序JavaCANativeDispatcher -

export CA_DATA=/apps/jboss-5.1.0.GA/IstCorrectAddress/Data 

似乎在配置或安裝缺少的東西。請建議。

回答

0

需要設置路徑tomcat-

出口PATH = $ PATH:$ LIBPATH
CLASSPATH = $ CLASSPATH:$ CA_DATA 出口LD_LIBRARY_PATH = $ LIBPATH 出口CA_DATA = /應用/ apache- tomcat-7.0.42/shared/IstCorrectAddress/Data export JAVA_OPTS =「 - Djava.library.path =/apps/apache-tomcat-7.0.42/shared」