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.pswp.cn/news/373413.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373413.shtml
英文地址,請注明出處:http://en.pswp.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;并且在代碼中重復出現…