Java 在何处放置DTD和模式文件
我有一个相当典型的JavaEE应用程序,它使用EJB3、seam组件、SpringBean和JSF组成,所有这些都打包到ear文件中的几个jar和war文件中。当然,对于JavaEE,我们有许多XML文件作为应用程序的一部分。其中一些XML文件使用DTD(seam)进行验证,另一些使用模式进行验证 与大多数从示例和其他项目中获取的文件一样,所有DTD和模式都引用默认DTD或模式所在的项目站点。问题来了:出于某种原因,JBoss站点今天错过了seam DTD(检查)。由于JBoss服务器使用此位置在引导时验证XML,因此应用程序部署失败 我的问题是:在这种情况下,我应该将DTD和定义文件放在哪里?我认为有三种选择:Java 在何处放置DTD和模式文件,java,jakarta-ee,jboss,schema,dtd,Java,Jakarta Ee,Jboss,Schema,Dtd,我有一个相当典型的JavaEE应用程序,它使用EJB3、seam组件、SpringBean和JSF组成,所有这些都打包到ear文件中的几个jar和war文件中。当然,对于JavaEE,我们有许多XML文件作为应用程序的一部分。其中一些XML文件使用DTD(seam)进行验证,另一些使用模式进行验证 与大多数从示例和其他项目中获取的文件一样,所有DTD和模式都引用默认DTD或模式所在的项目站点。问题来了:出于某种原因,JBoss站点今天错过了seam DTD(检查)。由于JBoss服务器使用此位置
我倾向于使用选项3,因为它提供了对文件的完全控制,没有网络依赖性。在我们所做的测试中,它甚至显著减少了服务器的引导时间——很明显,XML解析器不会缓存定义。走这条路有什么我错过的吗?没有,这是正确的做法。第一种方法只能用于乱搞或玩弄代码,但不能用于任何严重的事情,第二种方法与第三种方法相比没有优势,同时更为复杂。真正的问题是:您真的需要验证xml文件吗? 在大多数情况下,验证不是在生产代码中完成的——大多数情况下验证速度太慢
如果您真的想验证,请选择选项3。如何在JBoss中关闭验证?我不是那个调用XML解析器的人。