XML错误验证.xml对.xsd文件

时间:2014-08-12 00:37:46

标签: java xml google-app-engine xsd

每次我在devserver中运行我的app引擎应用程序时,appengine-application.xml文件似乎会自动重新生成。每次它恢复到具有简单语法错误的版本。

问题:文件从何处重新生成/复制?如何编辑它并导致更改持续存在?

有一个开头<在此文件的开头丢失。我已经做了以下尝试编辑和保存文件:使用终端命令vi- vim-和nano作为管理员和root用户,以及xcode和纯文本编辑器。

这是包含错误的文件,appengine-application.xml(缺少和操作'<'之前'?xml版本=" 1.0编码= ...& #39;)

文件路径:../ guestbook / guestbook-ear / target / guestbook-ear-1.0-SNAPSHOT / META-INF / appengine-application.xml

?xml version="1.0" encoding="utf-8" standalone="no"?>
<appengine-application xmlns="http://appengine.google.com/ns/1.0">
<application>single-loop-665 </application>
</appengine-application>

这是appengine-application.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"     targetNamespace="http://appengine.google.com/ns/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="appengine-application" type="ns:appengine-applicationType" xmlns:ns="http://appengine.google.com/ns/1.0"/>
 <xs:complexType name="appengine-applicationType">
    <xs:all>
        <xs:element type="xs:string" name="application"/>
    </xs:all>
</xs:complexType>
</xs:schema>

这是错误:

  

[INFO]引起:com.google.apphosting.utils.config.AppEngineConfigException:XML错误验证/Users/jamesjohnson/guestbook/guestbook-ear/target/guestbook-ear-1.0-SNAPSHOT/META-INF/appengine针对/Users/jamesjohnson/.m2/repository/com/google/appengine/appengine-java-sdk/1.9.8/appengine-java-sdk/appengine-java-sdk-1.9.8/docs/appengine的-application.xml -application.xsd

1 个答案:

答案 0 :(得分:0)

解决!

因此每次运行时都会看到应用程序的副本。这意味着所有xml文件和guestbook-war / src目录中包含的所有其他内容都将复制到名为appname-version-SNAPSHOT的文件中。似乎SNAPSHOT文件是编译和运行应用程序源代码的位置。

为了使编辑保持不变,您必须编辑

中包含的文件
appname-war/src/main 

。目录

令人困惑的部分是抛出的错误会指向

中代码的副本

应用程序的名字耳/目标/应用程序的名字耳-1.0-SNAPSHOT /应用程序的名字战-1.0-SNAPSHOT.war

如果您编辑这些文件中的代码,它在运行时没有意义。每次运行应用程序时都会生成这些文件。