2009-12-30 83 views
15
Description Resource Path Location Type 
No grammar constraints (DTD or XML schema) detected for the document. TEST-net.kindleit.gae.example.server.MessageRepositoryTest.xml /projecttest-gae-example/target/surefire-reports line 1 XML Problem 
No grammar constraints (DTD or XML schema) detected for the document. appengine-web.xml /projecttest-gae-example/src/main/webapp/WEB-INF line 1 XML Problem 
No grammar constraints (DTD or XML schema) detected for the document. appengine-web.xml /projecttest-gae-example/target/projecttest-gae-example-1.0-SNAPSHOT/WEB-INF line 1 XML Problem 
No grammar constraints (DTD or XML schema) detected for the document. datastore-indexes-auto.xml /projecttest-gae-example/WEB-INF/appengine-generated line 1 XML Problem 
No grammar constraints (DTD or XML schema) detected for the document. jdoconfig.xml /projecttest-gae-example/src/main/resources/META-INF line 1 XML Problem 
No grammar constraints (DTD or XML schema) detected for the document. jdoconfig.xml /projecttest-gae-example/target/projecttest-gae-example-1.0-SNAPSHOT/WEB-INF/classes/META-INF line 1 XML Problem 
No grammar constraints (DTD or XML schema) detected for the document. webapp-cache.xml /projecttest-gae-example/target/war/work line 1 XML Problem 

如何在eclipse上解決上述問題?我的項目是基於Maven的。是因爲我錯過了一些dtd文件嗎?如何包含它?eclipse maven項目警告'DTD或XML模式'

例如jdoconfig.xml

<?xml version="1.0" encoding="utf-8"?> 
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig"> 

    <persistence-manager-factory name="transactions-optional"> 
     <property name="javax.jdo.PersistenceManagerFactoryClass" 
      value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/> 
     <property name="javax.jdo.option.ConnectionURL" value="appengine"/> 
     <property name="javax.jdo.option.NontransactionalRead" value="true"/> 
     <property name="javax.jdo.option.NontransactionalWrite" value="true"/> 
     <property name="javax.jdo.option.RetainValues" value="true"/> 
     <property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/> 
    </persistence-manager-factory> 
</jdoconfig> 
+0

另請參閱:http://stackoverflow.com/questions/11757507/how-can-i-stop-eclipse-warning-about-target-folders-contents – 2014-11-26 12:57:46

回答

25

初始答案(2009年12月)

如果你有WTP(與XML部分包括):

首選項 - > Validation-> XML Validator-> unclick manual and/or build應該防止日食檢查DTD

或者:

從首選項頁面選擇XML> XML文件。在「驗證文件」部分下,您可以將下拉列表中的嚴重程度從「警告」更改爲「忽略」。請注意,這是針對所有XML文件的,而不僅僅是build.xml。但是,如果您仍然希望爲其他XML文件發出此警告,則可以將build.xml添加到排除過濾器。

alt text


更新(2012年2月)

有人在意見中提出(現已刪除)的有效點,你應該永遠不要忽視警告。
但修復它們!

當問他怎麼了,變亮(重點煤礦):

我會解決的Eclipse,因爲這顯然是糟糕的設計標誌。
例如,我可能會向Eclipse Foundation錯誤跟蹤器報告一個錯誤。
Eclipse需要爲「已知」的Spring/Java EE項目文件添加「理性」默認值,以便不需要XML語法
文件出現問題或者Eclipse在某處出現故障。
三個問題我有:

  1. Log4j.xml文件,稱它無法找到​​XML定義,雖然該文件是在驗證器看起來
  2. 螞蟻build.xml文件系統路徑說,我有沒有語法約束
  3. 由於某種原因我無法清理該項目。

實際上有蟲子在討論戰略/蟲子周圍的人警告:

  • bug 218326:「」無語法約束「警告的系統文件中的問題查看」沒走‘排除路徑’
  • bug 331749抱怨「無語法約束」,即使目錄被排除

顯然,對於這些警告的管理需要更多的修復。

+0

傷心的是,錯誤331749只有一個評論,沒有活動爲期3.5年。 – knittl 2014-05-31 09:02:45

+0

@knittl我剛剛意識到那個舊bug是由http://stackoverflow.com/users/34088/aaron-digulla編寫的 – VonC 2014-05-31 10:06:46

0

這只是一個警告。在首選項:XML/XML文件/驗證中,您可以關閉它。

4

如何在eclipse上解決上述問題?

這是一個警告,而不是一個真正的問題。驗證文件時,可以讓Eclipse忽略此操作(Windows>首選項> XML> XML文件>編輯器>驗證)。

是因爲我錯過了一些dtd文件?

不,這是因爲XML文檔沒有聲明任何DTD或XSD。

如何包含它?

您當然可以手動添加聲明(如果您知道要添加哪個DTD或架構)。或者你可以讓Eclipse忽略沒有如前面提到的那樣指定語法的事實。或者你可以忍受它。

3

正如其他人暗示的那樣,每個警告都應該分開處理。

爲了您的特定的警告 -

No grammar constraints (DTD or XML schema) detected for the document. TEST-net.kindleit.gae.example.server.MessageRepositoryTest.xml /projecttest-gae-example/target/surefire-reports 

我對記錄神火的錯誤作爲SUREFIRE-964因爲我看到了同樣的行爲。

要僅排除這些警告,您可以轉到「首選項」>「驗證」。找到XML驗證程序並單擊設置。選擇排除組,單擊添加規則,選擇文件夾或文件名,然後單擊瀏覽器文件夾以選擇目標/ surefire-reports。此時,Eclipse會提示您需要重新生成和/或驗證。或者,您可以右鍵單擊您的項目並選擇驗證。

0

我不認爲這是一個好主意,關閉它。當你開始解析時,你可能會遇到問題,等等。將DTD包含在XML目錄中會更好。

轉到Windows - >首選項 - > XML - > XML目錄 添加缺少的DTD作爲您的用戶指定的條目和eclipse將驗證它沒有任何問題。之後您可能需要開始驗證文件。

你也可以在http://juliendkim.blogspot.de/2012/09/how-to-fix-log4jdtd-xml-problem-in.html找到這個解決方案,它用log4j.dtd描述了這個問題。