0

ANT スクリプトでは、条件付きロジック (つまり、if ステートメント) にxmltask ANT タスクを使用します。

現在、このタスクは「 http://java.sun.com/dtd/application_1_3.dtd 」に到達できないため、爆撃中です。ブラウザでもこの URL にアクセスできません。Sun はこれらの Java DTD URL を「非推奨」にしましたか?


更新: http://java.sun.com/も利用できないようです。これが Sun/Oracle 側の機能停止なのか、それともこのサイトが廃止されたのかは不明です。

更新 2: OK、今は動作しています。昨日から働いていません - 誓います!@Jeremy は正しいと思います。これを自分でホストする必要があります。

4

3 に答える 3

2

ダウンロードして自分でホストすることをお勧めします。

http://java.sun.com/dtd/

于 2010-11-17T14:26:02.123 に答える
0

ネットワークにアクセスせずにビルドできるのは、ちょっといいですね。後世のために、自己ホスト型 DTD と xmltask の例を次に示します。

ビルド ファイルの先頭付近 (${ext.dir} はローカル ファイル パス):

<xmlcatalog id="commonDTDs">
    <dtd publicId="-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" location="${ext.dir}/dtd/web-app_2_3.dtd" />
    <dtd publicId="-//tuckey.org//DTD UrlRewrite 3.2//EN" location="${ext.dir}/dtd/urlrewrite3.2.dtd" />
</xmlcatalog>

xmlcatalog refIdを使用して後で参照します。

<xmltask source="${war.dir}/WEB-INF/web.xml" dest="${war.dir}/WEB-INF/web.xml">
    <xmlcatalog refId="commonDTDs" />
    <remove path="web-app/servlet[servlet-class/text()='loader.servlet.FileServlet']" />
    <remove path="web-app/servlet-mapping[servlet-name/text()='FileServlet']" />
</xmltask>
于 2011-04-26T04:52:11.643 に答える
0

非推奨ではありません。このスレッドによると、これは一時的な問題です。

いずれにせよ、外部でホストされている DTD に依存することはとにかく悪い考えであり、避けるべきです。

URI は識別子として使用されるため、URI を変更するのは簡単ではありません。ただし、すべての XML パーサーには、DTD (またはスキーマ) のロード方法をカスタマイズするオプションが必要であり、リモート コピーの代わりにローカル コピーを使用できる必要があります。さらに、これにより外部接続の必要性が減り、XML の読み込みが高速化されます。

于 2010-11-17T15:48:49.533 に答える