[英]Trying to deploy tomcat server through Intellij IDEA and getting a weird missing server.xml error
[英]Why does Intellij-IDEA ignore my tomcat/conf/server.xml Context tag?
在我的$ TOMCAT_HOME / conf / server.xml中,我將此放在底部:
...
<Context path="/staticdir" docBase="/filesystem/path/to/static/dir"/>
</Host>
</Engine>
</Service>
</Server>
我這樣做是因為我的文件系統上有一些文件,當您轉到localhost:8080 / staticdir時,我希望雄貓提供服務
但是,當我在Intellij-IDEA中啟動應用程序時,tomcat日志顯示如下:
使用CATALINA_BASE:“ C:\\ Users \\ me.IntelliJIdea11 \\ system \\ tomcat \\ Unnamed_Product_2”
如果我進入文件系統上的該目錄並查看conf / server.xml文件,則該文件中沒有Context
標簽。 為什么intellij對此進行修改,我該如何預防?
我有一種感覺,我應該對$ TOMCAT_HOME / conf / context.xml文件進行此更改,但是我很難在其中找到如何進行此更改的示例。 如果有人可以給我看一個例子,我會認為這是一個答案,因為我注意到intellij不會修改該文件。
我找到了一種解決方法。
但是我真的不喜歡這樣,因為當新用戶第一次嘗試運行該應用程序時,我無法想象有一種方法可以檢測到他們錯誤地執行了此步驟。
這是我的tomcat配置的圖片:
默認情況下,IntelliJ IDEA修改CATALINA_BASE
環境,以便Tomcat使用調整后的配置文件直接從工件輸出位置部署應用程序,但是可以覆蓋此行為並手動配置所有內容(通過將工件輸出更改為進入webapps
或更改與IDEA一樣的服務器配置,以便從標准工件輸出進行部署)。
我在Tomcat / IntelliJ中需要ROOT上下文,因此在Host標記的server.xml中,添加特定的Context:
<Context path="" docBase="C:\intranet\app\tomcat\webapps\ROOT\" reloadable="true" />
在intelliJ 11.1.5中,在“服務器”選項卡面板中,選中“部署在Tomcat實例中配置的應用程序”復選框,IntelliJ將在文件夾部署中復制server.xml:
C:\Users\{Username}\.IntelliJIdea11\system\tomcat\Unnamed_Product_2\conf"
現在,我可以通過示例crossdomain.xml來訪問根域中的資源:
http://localhost:8080/crossdomain.xml
在“啟動/連接”選項卡中,按照下面“傳遞環境變量”部分所述添加數據。 重新啟動,僅此而已。
Name Value
------------ -----
CATLINA_BASE {Tomcat Installation directory}
我復制了服務器,發現我的日志文件存儲在錯誤的位置。
因此,對於“ Tomcat產品”,它實際上是在使用catalina.base=".../preprod/..."
我最后編輯了我安裝IntelliJ的位置旁邊的projects/.idea/workspace.xml
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.