Posted on 2005-02-27 11:09
bigseal 閱讀(20999)
評論(7) 編輯 收藏
看到一篇關于在eclipse中使用ant構建java項目的文章,就按照文章中的說明新建了一個項目,并新建了classes,dist,doc,lib幾個文件夾和build.xml文件。其中build.xml文件的內容也是直接復制的,由于是從網頁上直接復制的,里面“<”“>”都是中文格式的,我就把這些給替換了一下。
但當選中項目,然后選擇“Project”,“Properties”,“Builders”,“New…”,選擇“Ant Build”:載入“Bulidfile”時提示“Content is not allowed in prolog”錯誤。
我就去Google上轉了一圈,還有點收獲,看了一篇小文章,覺得可能是build.xml文件格式的錯誤。
In SGML and XML, a document is composed of two sequential parts,
the prolog and the instance. You can see this in an HTML example:

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN "
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
3 <html xmlns= "http://www.w3.org/1999/xhtml " >
4 <head >
5 <title >The Symbol Grounding Problem </title >
6 </head >
7 <body >
8 </body >
9 </html >

In this example, the prolog is lines 1-2, the instance begins on
line 3. The prolog includes the DOCTYPE declaration, the external
subset (called the DTD), and the internal subset (which you seldom
see but it 's legal). The document instance includes the document
element (in this case <html > and all of its descendent content).

You generally don 't want to see the prolog, and you generally don 't
want to store it. The DOCTYPE declaration provides references to
DTD, which is instantiated as part of the process of validating the
document. You may want to store the reference(s), but you wouldn 't
want to store the DTD each time you store the document, as that
would be a real waste (the DTD is often bigger than the document).

It sounds like your well-formed and valid document isn 't being
considered as such by the XML processor. The error message indicates
that there is content (i.e., either elements or character data) in
the part of the document considered as the prolog. You may be missing
the last " > " on line 2 above, as that would normally be the beginning
of the internal subset. If it found " <html " (or something similar),
you might get that error.

果然,有兩個“!”是中文狀態,改過來就ok 了。