我一直在尝试使用Maven将Google提供的Mirror快速启动项目部署到Google上。
我从github(https://github.com/googleglass/mirror-quickstart-java)下载了代码,并更改了oauth.properties文件中的客户端ID和机密。
通过简单的命令,我成功地使它在localhost上工作。
mvn码头:运行
但是,我现在在上部署它时遇到了问题。
我在**src\main\webapp\webapp**中添加了appengine-web.xml,内容如下
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>mirror-api-java-test1</application>
<version>1</version>
<threadsafe>true</threadsafe>
</appengine-web-app>然后,我用命令创建了一个war文件
mvn战争:战争
并试图使用follwing命令进行部署。
appcfg.cmd更新\目标\0.1-快照
当我尝试时,我会得到以下错误。
C:\Users\MCS\Desktop\mirror-quickstart-java-master>appcfg.cmd update target\glass-java-starter-0.1-SNAPSHOT
Reading application configuration data...
5월 14, 2014 6:10:56 오후 com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
정보: Successfully processed target/glass-java-starter-0.1-SNAPSHOT\WEB-INF/appengine-web.xml
5월 14, 2014 6:10:56 오후 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
정보: Successfully processed target/glass-java-starter-0.1-SNAPSHOT\WEB-INF/web.xml
Beginning interaction for module default...
Email: mcs8779@gmail.com
Password for mcs8779@gmail.com:
0% Created staging directory at: 'C:\Users\MCS\AppData\Local\Temp\appcfg9012404692012972997.tmp'
5% Scanning for jsp files.
8% Compiling jsp files.
5월 14, 2014 6:11:12 오후 com.google.apphosting.utils.config.AbstractConfigXmlReader getTopLevelNode
심각: Received IOException parsing the input stream for C:\Users\MCS\AppData\Local\Temp\appcfg9012404692012972997.tmp\WEB-INF/web.xml
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: invalid byte 3 of 3-byte utf-8 sequence.
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:687)
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:435)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1753)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanLiteral(XMLEntityScanner.java:1074)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:996)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:438)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:254)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:604)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3122)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:880)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333)
at org.mortbay.xml.XmlParser.parse(XmlParser.java:230)
at com.google.apphosting.utils.config.AbstractConfigXmlReader.getTopLevelNode(AbstractConfigXmlReader.java:207)
at com.google.apphosting.utils.config.AbstractConfigXmlReader.parse(AbstractConfigXmlReader.java:229)
at com.google.apphosting.utils.config.WebXmlReader.processXml(WebXmlReader.java:160)
at com.google.apphosting.utils.config.WebXmlReader.processXml(WebXmlReader.java:20)
at com.google.apphosting.utils.config.AbstractConfigXmlReader.readConfigXml(AbstractConfigXmlReader.java:112)
at com.google.apphosting.utils.config.WebXmlReader.readWebXml(WebXmlReader.java:87)
at com.google.appengine.tools.admin.Application.compileJsps(Application.java:804)
at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:615)
at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:471)
at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:55)
at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:1347)
at com.google.appengine.tools.admin.AppCfg.executeAction(AppCfg.java:332)
at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:213)
at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:124)
at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:120)
5월 14, 2014 6:11:12 오후 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
심각: Received exception processing C:\Users\MCS\AppData\Local\Temp\appcfg9012404692012972997.tmp\WEB-INF/web.xml
com.google.apphosting.utils.config.AppEngineConfigException: Received IOException parsing the input stream for C:\Users\MCS\AppData\Local\Temp\appcfg9012404692012972997.tmpWEBINF/web.xml
at com.google.apphosting.utils.config.AbstractConfigXmlReader.getTopLevelNode(AbstractConfigXmlReader.java:211)
at com.google.apphosting.utils.config.AbstractConfigXmlReader.parse(AbstractConfigXmlReader.java:229)
at com.google.apphosting.utils.config.WebXmlReader.processXml(WebXmlReader.java:160)
at com.google.apphosting.utils.config.WebXmlReader.processXml(WebXmlReader.java:20)
at com.google.apphosting.utils.config.AbstractConfigXmlReader.readConfigXml(AbstractConfigXmlReader.java:112)
at com.google.apphosting.utils.config.WebXmlReader.readWebXml(WebXmlReader.java:87)
at com.google.appengine.tools.admin.Application.compileJsps(Application.java:804)
at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:615)
at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:471)
at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:55)
at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:1347)
at com.google.appengine.tools.admin.AppCfg.executeAction(AppCfg.java:332)
at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:213)
at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:124)
at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:120)
Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: invalid byte 3 of 3-byte utf-8 sequence.
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:687)
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:435)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1753)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanLiteral(XMLEntityScanner.java:1074)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:996)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:438)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:254)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:604)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3122)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:880)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333)
at org.mortbay.xml.XmlParser.parse(XmlParser.java:230)
at com.google.apphosting.utils.config.AbstractConfigXmlReader.getTopLevelNode(AbstractConfigXmlReader.java:207)
... 14 more
Error Details:
5월 14, 2014 6:11:11 오후 org.apache.jasper.JspC processFile
정보: Built File: \index.jsp
com.google.apphosting.utils.config.AppEngineConfigException: Received IOException parsing the input stream for C:\Users\MCS\AppData\Local\Temp\appcfg9012404692012972997.tmp\WEB-INF/web.xml
Unable to update app: Received IOException parsing the input stream for C:\Users\MCS\AppData\Local\Temp\appcfg9012404692012972997.tmp\WEB-INF/web.xml
Please see the logs [C:\Users\MCS\AppData\Local\Temp\appcfg1078372849724416694.log] for further information.请帮帮我!
(我使用韩国版本的Windows,因此某些字符在错误日志中看起来可能很奇怪)
发布于 2014-05-22 04:30:54
https://stackoverflow.com/questions/23652020
复制相似问题