EJB3、シームコンポーネント、スプリングビーン、JSFを使って構成された、かなり典型的なJavaEEアプリケーションがあります。これらはすべてearファイル内の複数のjarファイルとwarファイルにパッケージ化されています。もちろん、JavaEEの場合、アプリケーションの一部として多くのXMLファイルがあります。これらのXMLファイルの一部は、DTD(シーム)とスキーマを使用して検証されます。DTDとスキーマファイルの配置
ほとんどのファイルは、サンプルや他のプロジェクトから取得したものですが、すべてのDTDとスキーマは、デフォルトのDTDまたはスキーマが存在するプロジェクトのサイトを参照しています。何らかの理由で、JBossサイトが今日のシームDTDを逃しています(Check 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つのオプションがあります。
- 以前と同じように、デフォルトの場所を使用してください。つまり、アプリケーションを再デプロイする必要がある場合に備えて、JBoss、Sun、Spring、その他のベンダーの安定性を私のシステムに追加することになります。
- すべてのDTDファイルとスキーマファイルを自分のサーバーにコピーします。URLSは自分のコントロール下のサーバーを指しています。
- すべてのDTDファイルとスキーマファイルをアプリケーションまたはアプリケーションサーバーにコピーし、ローカルで使用します。
私はオプション3を使用する傾向があります。ネットワークに依存せずにファイルを完全に制御できるからです。これまでのテストでは、サーバーのブートストラップ時間を大幅に短縮しましたが、XMLパーサーは定義をキャッシュしませんでした。この道を踏み出すことで私が逃している恋愛はありますか?
JBossで検証をオフにするにはどうすればよいですか?私はXMLパーサを呼び出す人ではない。 –