gpt4 book ai didi

grails - java.lang.LinkageError: “javax/activation/DataHandler”

转载 作者:行者123 更新时间:2023-12-02 15:08:35 27 4
gpt4 key购买 nike

因此,我最近将Grails应用程序从版本1.3.7升级到了版本2.3.4。我现在在SOAP处理程序中遇到一个异常,该异常试图提取消息内容并将其记录到DB中。这在1.3.7中有效,但是我假设类路径有些混乱。

代码如下:

private String extractSOAPMessage(SOAPMessageContext smc) {
Source source = smc.getMessage().getSOAPPart().getContent()

TransformerFactory factory = TransformerFactory.newInstance()
Transformer transformer = factory.newTransformer()
transformer.setOutputProperty( OutputKeys.METHOD, "xml" )
java.io.StringWriter writer = new StringWriter()
Result result = new StreamResult( writer )
transformer.transform( source, result )

return writer.toString()
}

我看到的异常是:
Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of <bootloader>) previously initiated loading for a different type with name "javax/activation/DataHandler"

它发生在这一行:
源source = smc.getMessage()。getSOAPPart()。getContent()

罪魁祸首似乎是getSOAPart()调用。

请注意,我正在使用Grails的1.1.1版本的cxf插件。任何帮助,将不胜感激。我在解决方案中发现了几个类似的问题,但是都没有解决“javax / activation / DataHandler”问题,因此我不确定这里发生了什么。

最佳答案

我怀疑某些内容对activation库具有传递依赖,您需要排除该依赖-尝试运行dependency-report。自Java 6以来,由于JAR已内置在核心Java类库中,因此不再需要该JAR,但是许多东西仍然依赖于它,因此它们可以在Java 5上运行(或者可以追溯到Java 5仍在广泛使用的时候)。 。

关于grails - java.lang.LinkageError: “javax/activation/DataHandler”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21167099/

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