【问题标题】:Glassfish 4.1 LogFactory and WSSElementFactory NoClassDefFoundErrorGlassfish 4.1 LogFactory 和 WSSElementFactory NoClassDefFoundError
【发布时间】:2017-07-24 12:21:48
【问题描述】:

当我在 Glassfish 4.1 服务器上运行我的休息 api 点时,即使我将耳朵分别以 commons-logging 作为依赖项,即使库在 WEB-INF\lib 下解压缩,我也会面临 NoClassDefFoundError 的问题

看起来我在使用 Glassfish 4.0 时没有遇到问题

任何想法如何解决这个问题?

未找到第一个 LogFactory

javax.xml.ws.WebServiceException: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.processRequest(SecurityClientTube.java:252)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1136)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1050)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:1019)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:877)
at com.sun.xml.ws.client.Stub.process(Stub.java:463)
at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:191)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:92)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:161)

然后WSSElementFactory 也不是

javax.xml.ws.WebServiceException: java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.ws.security.opt.impl.util.WSSElementFactory
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.processRequest(SecurityClientTube.java:252)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1136)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1050)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:1019)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:877)
at com.sun.xml.ws.client.Stub.process(Stub.java:463)
at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:191)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:92)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:161)

【问题讨论】:

    标签: java web-services glassfish apache-commons


    【解决方案1】:

    也许我的回答有点过时了,但我在 Glassfish 4.1.1 中遇到了同样的问题,并设法通过更新 Metro 库来解决它

    这里有一个说明:

    1. 下载解压https://maven.java.net/content/repositories/releases//org/glassfish/metro/metro-standalone/2.3.1/metro-standalone-2.3.1.zip
    2. 从您的 glassfish/modules 文件夹中删除(备份)一些文件:
    • jaxb-extra-osgi.jar
    • jaxb-osgi.jar
    • stax2-api.jar
    • webservices-extra-jdk-packages.jar
    • webservices-osgi.jar
    • woodstox-core-asl.jar
    1. metro/osgi 解压 zip 中的内容替换它们
    2. 停止玻璃鱼
    3. 删除 domain1/generateddomain1/osgi-cache 文件夹的内容
    4. 启动 Glassfish

    它对我有用,两个错误都消失了

    希望对某人有所帮助

    【讨论】:

    • 非常酷?我不再从事那个项目,所以不知道它是否有帮助,但非常高兴你分享了一个解决方案。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    相关资源
    最近更新 更多