© Ptw-cwl
xml转json时用到了JAXBContext.newInstance(xxx)然后就报了 Implementation of JAXB-API has not been found on module path or classpath
/**
* 转换使用Jaxb包注解构成的javaBean
*/
public static String convertJaxbToXml(Object bean, String encoding) {
String result = null;
try {
JAXBContext context = JAXBContext.newInstance(bean.getClass());
jakarta.xml.bind.Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
StringWriter writer = new StringWriter();
marshaller.marshal(bean, writer);
result = writer.toString();
} catch (Exception e) {
ThrowableUtils.printStackTrace(e);
}
return result;
}
上网搜了好多,大多都是调整maven的,不知道为什么没有效果。后面我把javax.xml.bind换成了jakarta.xml.bind的然后JAXBContext.newInstance(xxx)就不报这个错了,具体的原因可以上网搜搜。
但是我同步订单请求的时候报了个500,我以为是我代码的原因,后面又发现javax.xml.bind换成jakarta.xml.bind没有改的完全,然后把涉及到的都改了一下然后就好了
希望能对大家又说帮助,没有用的话,可以搜搜调整maven解决这个的