gpt4 book ai didi

java - 是否可以覆盖 glassfish\modules\webservices-osgi.jar 中的类?

转载 作者:行者123 更新时间:2023-11-29 07:43:55 24 4
gpt4 key购买 nike

我编写了一个在 glassfish 服务器上运行的 soap 客户端应用程序。

出于 soap 安全原因,我必须更新通过 webservices-osgi.jar glassfish 模块提供的 Metro 项目的类 (SecurityHeather.java) 部分。

有没有办法覆盖 glassfish\modules\webservices-osgi.jar 中的类?

最简单的方法是更新 jar 文件中的类并保存。但我不确定它是否是最好的方法。

最佳答案

在搜索了大量类似的帖子并阅读了大量的 glassfish 文档后,我找到了解决此问题的方法。有一个定义元素类加载器的 glassfish-web.xml 部署描述符。默认情况下,类加载器将所有类加载功能委托(delegate)给其父类加载器,父类加载器在 glassfish 安装目录的模块文件夹中查找 jar。如果我们将 class-loader 元素的 delegate 属性设置为 false,则委托(delegate)模型被反转,子类加载器执行类加载,首先加载 war 库中可用的类,然后查看 glassfish 模块文件夹。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish
Application Server 3.1 Servlet 3.0//EN"
"http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<context-root>/SampleApp</context-root>
<class-loader delegate="false"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.
</description>
</property>
</jsp-config>
</glassfish-web-app>

关于java - 是否可以覆盖 glassfish\modules\webservices-osgi.jar 中的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27516306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com