当前位置: 首页 > 面试题库 >

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

华宣
2023-03-14
问题内容

我正在使用
EclipseLink的JAXB实现的一些非标准扩展,并且要启用该实现,必须使用jaxb.properties对其进行配置。效果很好。

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

为了使它更加健壮,我想摆脱属性文件,并在代码中指定上下文配置。由于它们的注释,我已经对EclipseLink产生了编译时依赖性,并且我不需要在部署时就可以配置此部分(实际上,看到什么地方出了问题,我不希望它可配置)。


问题答案:

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

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);
    }

}


 类似资料:
  • 问题内容: 键入密码短语时 每个人都能听到敲击空格键的声音,因此在密码字段中显示空格也很合逻辑。所以我想要一些可以显示的东西 代替 这将使键入更加容易,同时几乎不降低安全性。 更新 更新Riduidel的评论之前请三思。当布鲁斯·施耐尔(Bruce Schneier)写 “是时候以明文形式显示大多数密码了”时 ,那么显示其中的一小部分也必须是正确的。尤其是显示仅通过聆听即可捕获的部分。 问题答案:

  • 问题内容: 首先,当我问一个非常基本且特殊的问题时,我感到很遗憾;但是我对Java和编程都不陌生。我研究了system.out.println()中的“ out”是系统类的对象。“ out”可以用系统类的任何其他对象替换吗?如果是这样,成员是什么? 问题答案: 您可以拨打任何电话。如果您查看javadoc,则会发现另一个静态字段,即。例如: 如果您想用自己的输出流实际替换标准,则可以将流传递给或相

  • 我有这个密码: 还有很多if语句。我想用可选的替换它,但我不知道如何替换,因为我只是在研究这个主题。你能帮我吗?

  • 问题内容: 我在暑期研究中从事内核工作。我们希望在特定的RTT计算中对TCP进行修改。我想做的是将tcp_input.c中的功能之一的分辨率替换为由动态加载的内核模块提供的功能。我认为这将改善我们开发和分发修改的速度。 我感兴趣的函数被声明为静态的,但是我用非静态函数重新编译了内核,并由EXPORT_SYMBOL导出。这意味着该功能现在可供内核的其他模块/部分访问。我已经通过“ cat / pro

  • 我正在尝试用Springdoc替换手动维护的swagger文件。目前,我们使用ReDoc来呈现文件,因为它们支持。 是否有一种简单的方法可以用替换/取代嵌入式?

  • 问题内容: 如果我想编码node.js并使用CoffeeScript,我有哪些限制?我可以做一些我在JS中可以做的事情吗? 问题答案: 是的,CoffeeScript可以简单地编译为纯JS,使其与node.js完全兼容。 要在节点上运行CoffeeScripts,您可以: 键入要编译的代码,然后运行已编译的JS。 只需输入