获取本机层版本时出错:java.lang.UnsatifiedLink错误:java.library.path中没有sapjco3

获取本机层版本时出错:java.lang.UnsatifiedLink错误:java.library.path中没有sapjco3,java,servlets,sap,jco,Java,Servlets,Sap,Jco,在我的java web应用程序中,尝试连接SAP服务器。此错误已生成。我已将sapjco3.dll和sapjco3.jar放在WEB-INF/lib/中,并在Java构建路径中进行了配置。 我还将servlet中的路径设置为 System.setProperty("java.library.path", "/WEB-INF/lib"); 但是也存在错误。在您的方法中有几个问题 不建议以编程方式更改java.library.path,因为该属性是在JVM启动时缓存的。有关更多详细信息,请参阅 您

在我的java web应用程序中,尝试连接SAP服务器。此错误已生成。我已将sapjco3.dll和sapjco3.jar放在WEB-INF/lib/中,并在Java构建路径中进行了配置。 我还将servlet中的路径设置为

System.setProperty("java.library.path", "/WEB-INF/lib");

但是也存在错误。

在您的方法中有几个问题

  • 不建议以编程方式更改
    java.library.path
    ,因为该属性是在JVM启动时缓存的。有关更多详细信息,请参阅

  • 您正在覆盖
    java.library.path
    ,而不是在末尾添加目录。您的应用程序服务器很可能需要一些自己的本机库

  • /WEB-INF/lib
    是JVM无法找到的相对路径,因为JVM根目录与应用程序根目录不同(更不用说部署WAR文件了)


  • 通常,您应该将SAP JCo配置为服务器库,而不是应用程序库。具体的过程取决于您的应用程序服务器。

    在您的方法中有几个问题

  • 不建议以编程方式更改
    java.library.path
    ,因为该属性是在JVM启动时缓存的。有关更多详细信息,请参阅

  • 您正在覆盖
    java.library.path
    ,而不是在末尾添加目录。您的应用程序服务器很可能需要一些自己的本机库

  • /WEB-INF/lib
    是JVM无法找到的相对路径,因为JVM根目录与应用程序根目录不同(更不用说部署WAR文件了)


  • 通常,您应该将SAP JCo配置为服务器库,而不是应用程序库。确切的过程取决于您的应用程序服务器。

    如果您像我一样在Windows上,您可以将sapjco3.dll放在文件系统中您想要的任何位置(除了sapjco3文档中所述的Windowssystem32sysWOW64目录)然后将路径添加到path系统变量中:

    在Linux上,将libsapjco3.so文件的路径添加到环境变量LD\u LIBRARY\u path

    如果您在JBoss上,需要将sapjco3.jar引入到您的项目中,请在这里查看我的答案:

    如果您像我一样在Windows上,您可以将sapjco3.dll放在文件系统中您想要的任何位置(除了sapjco3文档中所述的Windowssystem32sysWOW64目录),然后将其路径添加到path系统变量:

    在Linux上,将libsapjco3.so文件的路径添加到环境变量LD\u LIBRARY\u path

    如果您在JBoss上,需要将sapjco3.jar引入到您的项目中,请在这里查看我的答案:

    这有帮助吗:这有帮助吗: