Tomcat和IntelliJ –在webapps文件夹之外部署war文件

目前,我正在开发一个Android应用程序,该应用程序需要云中托管的大量REST服务来支持。 我基于对Java,Groovy以及最重要的Spring的支持选择了Google App Engine 。 我开发了一个基于Spring MVC的REST应用程序,并使用ContentNegotiatingViewResolver来基于请求URL扩展来协商内容。 例如,如果请求URL以结尾,则将返回XML响应。 xml ,是的JSON响应。 json和HTML响应(如果他的URL没有任何扩展名)。 不要让我开始使用“接受标头”与基于URL扩展的内容协商。 那是另一天的咆哮。

我正在尝试序列化Map <Enum,List <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 version='1.0' encoding='utf-8'?>
<Context docBase="PATH_TO_MY_APP"reloadable="true"path="/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受限制-是尚未解决。 也许我应该尝试CastorMarshaller,XmlBeansMarshaller或JibxMarshaller中的一种。

有任何想法吗?

参考: Tomcat和IntelliJ –从我们的JCG合作伙伴的 webapps文件夹之外部署war文件   Ganesh博客上的 Ganeshji Marwaha。


翻译自: https://www.javacodegeeks.com/2012/02/tomcat-intellij-deploy-war-files.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373413.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[HDU1232] 畅通工程 (并查集 or 连通分量)

Input 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数&#xff0c;分别是城镇数目N ( < 1000 )和道路数目M&#xff1b;随后的M行对应M条道路&#xff0c;每行给出一对正整数&#xff0c;分别是该条道路直接连通的两个城镇的编号。为简单起见&#xff0c;城镇…

java jdbc连接db2数据库_Java连接db2数据库(常用数据库连接五)

1.安装好db2数据库&#xff0c;并建立表如下&#xff1a;2.eclipse或myeclipse中建立工程并导入java连接db2所需要的jar包db2java.jar 下载地址&#xff1a;http://download.csdn.net/detail/whzhaochao/64149813.建立iConn接口&#xff0c;代码如下&#xff1a;package com.zh…

在Windows上,迁移VisualSVN server

最近在搭建自动化测试框架&#xff0c;顺便了解了一下SVN的搭建。对于一般的使用场景&#xff0c;VisualSVN还是挺方便的&#xff0c;而且上手特别快。 由于是第一个demo&#xff0c;后期要迁移到其他服务器上面&#xff0c;所以就熟悉了一下server的迁移。以下是一些记录信息&…

练习脚本三:日志清除

日志清除 #!/bin/bash #清除日志脚本&#xff0c;版本2 LOG_DIR/var/logROOT_UID0 #$UID为0的时候&#xff0c;用户才具有root用户的权限#判断是否使用root用户来运行 if [ "$UID" -ne "$ROOT_UID" ];thenecho "Must be root to run this script.&qu…

Oracle通过邀请Weaver和Chin推动JavaFX向前发展

我昨天发布了愚人节帖子&#xff0c;内容涉及加入NASA协助探索红色大行星。 那个帖子与事实相距不远... NASA开发的技术的所有细节都是100&#xff05;准确的。 哎呀&#xff0c;即使我辞职也是事实&#xff01; 唯一不正确的部分是我将加入的公司。 在NASA协助探索火星的工作也…

java privilege的用法_java反射--注解的定义与运用以及权限拦截

自定义注解类编写的一些规则:1. Annotation型定义为interface, 所有的Annotation会自动继承java.lang.Annotation这一接口,并且不能再去继承别的类或是接口.2. 参数成员只能用public或默认(default)这两个访问权修饰3. 参数成员只能用基本类型byte,short,char,int,long,float,d…

WinForm------TextEdit只能输入数字

代码: this.textEdit1.Properties.Mask.EditMask "\d"; this.textEdit1.Properties.Mask.MaskType MaskType.RegEx; 转载于:https://www.cnblogs.com/tianhengblogs/p/6093634.html

mysql使用随笔

mysql 删除语句 &#xff1a;delete from 表名 where 条件; 例如 delete from tbuserinfo where id 2;mysql 查询语句 &#xff1a;select * 列名 from 表名 where 条件;mysql 模糊查询 &#xff1a; SELECT * FROM 表名 WHERE 列名 LIKE "3%&qu…

JavaFX:创建Sprite动画

到目前为止&#xff0c;尽管我的大多数文章都涉及JavaFX属性和绑定&#xff0c;但今天我想写一讲我也致力于JavaFX运行时的另一部分&#xff1a;动画API。 在本文中&#xff0c;我将解释如何在JavaFX中编写自定义动画&#xff0c;以及如何使用这种方法为Sprite动画创建类。 &am…

java tick_Java中的Clock tick()方法

可以使用tick()Java中Clock类中的方法在所需的时间范围内舍入基本时钟的瞬间。此方法需要两个参数&#xff0c;即基本时钟和滴答的持续时间。同样&#xff0c;返回在所需持续时间内四舍五入的基本时钟时刻。演示此的程序如下所示-示例import java.time.*;public class Main {pu…

JAVA 常用框架和工具

集成开发工具&#xff08;IDE&#xff09;&#xff1a;Eclipse、MyEclipse、Spring Tool Suite&#xff08;STS&#xff09;、Intellij IDEA、NetBeans、JBuilder、JCreator JAVA服务器&#xff1a;tomcat、jboss、websphere、weblogic、resin、jetty、apusic、apache 负载均衡…

MySQL Doublewrite Buffer及业务评估

1. 关于Doublewrite Buffe的总结 Doublewrite Buffer&#xff1a;Doublewrite Buffer出现的初衷是防止buffer pool中的脏页刷新到磁盘中&#xff0c;出现部分写的问题&#xff0c;innodb页大小一般为16k&#xff0c;而Linux操作系统的block size一般为4k。这样在刷新的过程中&a…

使用UIBinder的GWT自定义按钮

这是一个有关如何在GWT上使用UIBinder创建自定义按钮的示例。 public class GwtUIBinderButton implements EntryPoint {public void onModuleLoad() {Button button new Button();button.setText("Button");button.addClickHandler(new ClickHandler(){Overridepub…

delete postman 传参_PostMan 传参boolean 类型,接口接受的值一直是false

情形&#xff1a;最近写前台页面的一个按钮&#xff0c;功能是&#xff1a;点击后切换状态&#xff0c;显示是或否。字段名称是isTest,类型是boolean 。写完接口&#xff0c;拿postMan测试&#xff0c;传参如下&#xff1a;但是后台接口接受的数据 一直是false,处理&#xff1a…

前端学PHP之文件操作

前端学PHP之文件操作 前面的话 在程序运行时&#xff0c;程序本身和数据一般都存在内存中&#xff0c;当程序运行结束后&#xff0c;存放在内存中的数据被释放。如果需要长期保存程序运行所需的原始数据&#xff0c;或程序运行产生的结果&#xff0c;就需要把数据存储在文件或数…

腾讯云CentOS6.5下安装mysql,并配置好远程访问等权限,途中遇到的问题

1.使用yum命令安装mysql [rootbogon ~]# yum -y install mysql-server 2.设置开机启动 [rootbogon ~]# chkconfig mysqld on 3.启动MySQL服务 [rootbogon ~]# service mysqld start 4.设置MySQL的root用户设置密码 [rootbogon ~]# mysql -u root mysql> select u…

休眠性能提示:脏收集效果

在使用Hibernate作为ORM开发服务器和嵌入式应用程序8年后&#xff0c;我全力以赴地寻求提高Hibernate性能的解决方案&#xff0c;阅读博客和参加会议&#xff0c;我决定与您分享这几年获得的知识。 这是更多新帖子中的第一篇&#xff1a; 去年&#xff0c;我以Devoxx的身份参加…

java runtime 异常_Java中RuntimeException和Exception

在java的异常类体系中,Error和RuntimeException是非检查型异常&#xff0c;其他的都是检查型异常。所有方法都可以在不声明throws的情况下抛出RuntimeException及其子类不可以在不声明的情况下抛出非RuntimeException简单的说&#xff0c;非RuntimeException必要自己写catch块处…

BZOJ3130: [Sdoi2013]费用流[最大流 实数二分]

3130: [Sdoi2013]费用流 Time Limit: 10 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 960 Solved: 505[Submit][Status][Discuss]Description Alice和Bob在图论课程上学习了最大流和最小费用最大流的相关知识。 最大流问题&#xff1a;给定一张有向图表示运输网络…

Linux Shell 003-变量

Linux Shell 003-变量 本节关键字&#xff1a;Linux、Shell、变量、全局变量、系统变量 相关指令&#xff1a;read、echo、unset、export 变量的含义 变量是用来临时保存数据的&#xff0c;该数据是可以变化的数据。如果某个内容需要多次使用&#xff0c;并且在代码中重复出现…