我使用 MOXy 作为 JAXB 实现,但不知何故我想在某些管理屏幕上(动态)显示实现名称(例如 Moxy)和版本号。
我如何从 JAXB 检索该信息?
Cheers
您可以执行类似以下操作来找出正在使用的 JAXB impl:
import javax.xml.bind.JAXBContext;
public class Demo {
private static final String MOXY_JAXB_CONTEXT = "org.eclipse.persistence.jaxb.JAXBContext";
private static final String METRO_JAXB_CONTEXT = "com.sun.xml.bind.v2.runtime.JAXBContextImpl";
public static void main(String[] args) throws Exception {
JAXBContext jc = JAXBContext.newInstance(Root.class);
String jaxbContextImpl = jc.getClass().getName();
if(MOXY_JAXB_CONTEXT.equals(jaxbContextImpl)) {
System.out.println("EclipseLink MOXy");
} else if(METRO_JAXB_CONTEXT.equals(jaxbContextImpl)) {
System.out.println("Metro");
} else {
System.out.println("Other");
}
}
}
您可以从 Version 类中获取有关正在使用的 EclipseLink 版本的信息:
import org.eclipse.persistence.Version;
public class VersionDemo {
public static void main(String[] args) {
System.out.println(Version.getVersion());
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)