Java 我可以用代码替换jaxb.properties吗?

Java 我可以用代码替换jaxb.properties吗?,java,xml,jaxb,eclipselink,moxy,Java,Xml,Jaxb,Eclipselink,Moxy,根据EclipseLink的JAXB实现,为了启用该实现,我必须使用JAXB.properties对其进行配置。效果很好 但是,由于一个构建错误,属性文件没有包含在正确的位置,导致使用了默认的JAXB,没有任何错误,它只是继续解析XML文件,忽略了非标准扩展,给我留下了一个无法工作的bean 为了使它更加健壮,我想去掉属性文件,并在代码中指定上下文配置。由于EclipseLink的注释,我已经对其具有编译时依赖性,并且我不需要在部署时配置此部件(事实上,看到可能出现的问题,我不希望它是可配置的)

根据EclipseLink的JAXB实现,为了启用该实现,我必须使用JAXB.properties对其进行配置。效果很好

但是,由于一个构建错误,属性文件没有包含在正确的位置,导致使用了默认的JAXB,没有任何错误,它只是继续解析XML文件,忽略了非标准扩展,给我留下了一个无法工作的bean


为了使它更加健壮,我想去掉属性文件,并在代码中指定上下文配置。由于EclipseLink的注释,我已经对其具有编译时依赖性,并且我不需要在部署时配置此部件(事实上,看到可能出现的问题,我不希望它是可配置的)。

您可以执行以下操作以获得EclipseLink JAXB(MOXy)
JAXBContext
没有
jaxb.properties
文件:

import java.io.File;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;

import org.eclipse.persistence.jaxb.JAXBContextFactory;

public class Demo {

    public static void main(String[] args) throws Exception {
        //JAXBContext jc = JAXBContext.newInstance(Animals.class);
        JAXBContext jc = JAXBContextFactory.createContext(new Class[] {Animals.class}, null);

        Unmarshaller unmarshaller = jc.createUnmarshaller();
        File xml = new File("src/forum6871469/input.xml");
        Animals animals = (Animals) unmarshaller.unmarshal(xml);

        Marshaller marshaller = jc.createMarshaller();
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        marshaller.marshal(animals, System.out);
    }

}

考虑另一种选择:测试JAXB属性是否存在于Buffice中。如何在上面的代码中设置MsHaleRealthy.jsNang-CopyDeBooRead属性?