Dav*_*itz 5 java schema jboss dtd jakarta-ee
我有一个相当典型的 JavaEE 应用程序,使用 EJB3、seam 组件、spring bean 和 JSF 组成,所有这些都打包到一个 Ear 文件内的几个 jar 和 war 文件中。当然,对于 JavaEE,我们有许多 XML 文件作为应用程序的一部分。其中一些 XML 文件使用 DTD(seam)进行验证,另一些则使用模式进行验证。
由于大多数文件取自示例和其他项目,因此所有 DTD 和架构均引用默认 DTD 或架构所在的项目站点。问题来了:由于某种原因,JBoss 站点今天错过了接缝 DTD(检查http://www.jboss.com/products/seam/components-1.1.dtd、http://www.jboss.com/products /seam/components-1.2.dtd,http://www.jboss.com/products/seam/components-2.0.dtd)。由于 JBoss 服务器在引导时使用此位置验证 XML,因此应用程序部署失败。
我的问题是:鉴于这种情况,我应该将 DTD 和定义文件放在哪里?我看到三个选项:
我倾向于使用选项 #3,因为它提供对文件的完全控制,而无需网络依赖。在我们所做的测试中,它甚至显着减少了服务器的引导时间 - 显然 XML 解析器不会缓存定义。走这条路我会错过什么吗?