福建建设银行官方网站,开发一个大型网站需要多少钱,百度网站主要提供的服务,黑色asp企业网站源码目前#xff0c;我正在开发一个Android应用程序#xff0c;该应用程序需要云中托管的大量REST服务来支持。 我基于对Java#xff0c;Groovy以及最重要的Spring的支持选择了Google App Engine 。 我开发了一个基于Spring MVC的REST应用程序#xff0c;并使用ContentNegotiat… 目前我正在开发一个Android应用程序该应用程序需要云中托管的大量REST服务来支持。 我基于对JavaGroovy以及最重要的Spring的支持选择了Google App Engine 。 我开发了一个基于Spring MVC的REST应用程序并使用ContentNegotiatingViewResolver来基于请求URL扩展来协商内容。 例如如果请求URL以结尾则将返回XML响应。 xml 是的JSON响应。 json和HTML响应如果他的URL没有任何扩展名。 不要让我开始使用“接受标头”与基于URL扩展的内容协商。 那是另一天的咆哮。 我正在尝试序列化Map EnumList Model 。 一切都很好我能够检索HTML和JSON表示形式但是当我尝试检索XML表示形式时JAXB抱怨说尽管Jackson非常酷但它无法在根目录中处理Map实例。 像往常一样Googling透露JAXB希望在我的根目录中创建一个Container类而我不想创建它。 我也不想放弃。 因此我使用XStreamMarshaller尝试了运气。 这次GAE抱怨XStream使用了受限制的API。 什么 出于好奇我想检查XStreamMarshaller在GAE之外使用时是否能按预期工作。 因此我使用以下定义创建了Tomcat上下文文件“ myapp.xml”并将其小心地放置在TOMCAT_HOME / conf / Catalina / localhost中 。 我本来可以从TOMCAT_HOME / bin / startup.bat启动Tomcat来检查它是否有效但是由于是IDEA迷我为IDEA Tomcat插件创建了运行配置并从IDEA内部启动了服务器。 但是该应用程序甚至拒绝被发现更不用说部署了。 经过几次失败的尝试后我尝试在IDEA外部直接启动Tomcat。 幸运的是该应用程序已成功部署令我惊讶的是XStreamMarshaller巧妙地流了序列化的XML。 问题解决了 ?xml version1.0 encodingutf-8?
Context docBasePATH_TO_MY_APPreloadabletruepath/myapp
/Context 但是当我从IDEA内部启动Tomcat时为什么没有部署该应用程序 毕竟我已经将IDEA链接到本地Tomcat安装并且它执行的脚本显然在我的TOMCAT_HOME / bin文件夹中。 然后为什么为什么在世界上为什么拒绝发现该应用程序 解决方案以CATALINA_BASE的形式出现。 似乎IDEA将TOMCAT_HOME / conf文件夹的内容复制到其HOME文件夹中其名称类似于Unnamed_MyApp 并将此文件夹设置为CATALINA_BASE 。 这就解释了为什么Tomcat完全忽略了“ myapp.xml”。 然后我导航到“ Tomcat运行配置-启动/连接-环境变量”并添加了CATALINA_BASE作为环境变量并将其指向本地TOMCAT_HOME文件夹。 进行此配置更改后IDEA按预期方式启动了Tomcat并且发现并部署了我的应用程序。 解决了另一个问题 但是真正的问题-JAXB抱怨Map和GAE拒绝XStreamMarshaller受限制-是尚未解决。 也许我应该尝试CastorMarshallerXmlBeansMarshaller或JibxMarshaller中的一种。 有任何想法吗 参考 Tomcat和IntelliJ –从我们的JCG合作伙伴的 webapps文件夹之外部署war文件 Ganesh博客上的 Ganeshji Marwaha。 翻译自: https://www.javacodegeeks.com/2012/02/tomcat-intellij-deploy-war-files.html