Pfadprobleme in Servlets



  • Hallo

    Ich versuche eine dll in der init methode eines Servlets zu laden. Ich bekomme aber immer eine Exception, dass er die dll nicht findet.

    java.lang.UnsatisfiedLinkError: no CodeSite in java.library.path
    java.lang.ClassLoader.loadLibrary(Unknown Source)
    java.lang.Runtime.loadLibrary0(Unknown Source)
    java.lang.System.loadLibrary(Unknown Source)
    ch.sge.eventinfo.controller.CodeSite.<clinit>(CodeSite.java:22)
    ch.sge.eventinfo.controller.Controller.init(Controller.java:143)
    javax.servlet.GenericServlet.init(GenericServlet.java:211)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
    org.apache.coyote.http11.Http11ProtocolHttp11ConnectionHandler.processConnection(Http11Protocol.java:731)org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)org.apache.tomcat.util.threads.ThreadPoolHttp11ConnectionHandler.processConnection(Http11Protocol.java:731) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) org.apache.tomcat.util.threads.ThreadPoolControlRunnable.run(ThreadPool.java:684)
    java.lang.Thread.run(Unknown Source)

    Wo muss die dll liegen, damit er sie findet. Da ich nicht genau wusste wo sie liegen muss. Habe ich sie mal in alle ordner des Projektes im tomcat verzeichnis kopiert aber leider ohne erfolg.



  • Naja, also die jar-files und classes liegen unter
    /WEB-INF/classes

    Wieso willst du überhaupt mit Java eine DLL laden?



  • Ich habe ein paar funktionen die ich über JNI anspreche, welche ich im servlet verwende. Das Problem ist, dass ich in jeden unterordner die dll reinkopiert habe. Aber er findet sie trotzdem nicht.





  • Hallo
    Die DLL scheint er jetzt zu finden. Habe sie unter Windows/system32 abgelegt.
    allerdings bekomme ich jetzt folgende fehlermeldung.

    java.lang.UnsatisfiedLinkError: send
    ch.sge.eventinfo.controller.CodeSite.send(Native Method)
    ch.sge.eventinfo.controller.Controller.init(Controller.java:152)
    javax.servlet.GenericServlet.init(GenericServlet.java:211)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
    org.apache.coyote.http11.Http11ProtocolHttp11ConnectionHandler.processConnection(Http11Protocol.java:731)org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)org.apache.tomcat.util.threads.ThreadPoolHttp11ConnectionHandler.processConnection(Http11Protocol.java:731) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) org.apache.tomcat.util.threads.ThreadPoolControlRunnable.run(ThreadPool.java:684)
    java.lang.Thread.run(Unknown Source)


Anmelden zum Antworten