每次我在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
答案 0 :(得分:0)
解决!
因此每次运行时都会看到应用程序的副本。这意味着所有xml文件和guestbook-war / src目录中包含的所有其他内容都将复制到名为appname-version-SNAPSHOT的文件中。似乎SNAPSHOT文件是编译和运行应用程序源代码的位置。
为了使编辑保持不变,您必须编辑
中包含的文件appname-war/src/main
。目录
令人困惑的部分是抛出的错误会指向
中代码的副本应用程序的名字耳/目标/应用程序的名字耳-1.0-SNAPSHOT /应用程序的名字战-1.0-SNAPSHOT.war
如果您编辑这些文件中的代码,它在运行时没有意义。每次运行应用程序时都会生成这些文件。