【问题标题】:Run Web Application on Glassfish with newer version of jna library使用更新版本的 jna 库在 Glassfish 上运行 Web 应用程序
【发布时间】:2017-12-19 13:56:21
【问题描述】:

我有一个应该在 glassfish 上运行的 Web 应用程序。

应用程序使用jna 版本4.1.0 并且jna-4.1.0.jar 与应用程序一起打包在其lib 文件夹中。

Howerver,据我所知,glassfish 本身使用的是3.1 库的3.1 版本,它被打包在里面 ibpam4j-repackaged.jar 在以下路径:

('C:/Program Files/glassfish-4.1.1/glassfish/modules')

结果 - 应用程序没有运行,它抛出了

java.lang.NoSuchMethodError: com.sun.jna.Pointer.getWideString(J)Ljava/lang/String;

导致使用了错误版本的库。

任何想法如何克服这个问题?

谢谢。

(顺便说一句,它本身不是我的应用程序 - 我只是想在 glassfish 上运行 waffle 示例)

【问题讨论】:

    标签: java glassfish classloader jna waffle


    【解决方案1】:

    原来设置 <class-loader delegate="false"/>glassfish-web.xml 里面就可以了。

    现在一切正常。

    【讨论】:

    • 如果您能指定该文件的路径会有所帮助吗?
    • @AniketWarey 'glassfish-web.xml' 通常在您的 Web 项目的 'web-inf' 目录中。
    • 谢谢,在我的例子中它是 'sun-web.xml' ,它没有那个属性,所以我不得不手动添加它:
    猜你喜欢
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多