簡體   English   中英

無法使JAR / WAR可執行文件與嵌入式Tomcat 7一起使用

[英]Cannot make JAR/WAR executable work with embedded Tomcat 7

我有一個使用tomcat7-maven-plugin的Maven項目。 我試圖將項目打包到一個jar(或war)中,以便可以在不使用maven的情況下運行它( mvn tomcat7:run )。 到目前為止,我的嘗試尚未導致正確顯示網頁。

我已按照https://www.baeldung.com/executable-jar-with-maven(2.6 :帶有可執行Tomcat的Web應用程序)中的步驟進行操作。 此外,還遵循了https://searchapparchitecture.techtarget.com/video/Create-a-Java-executable-JAR-with-the-Tomcat-plug-in-for-Maven上的視頻教程。 已經嘗試了其中的幾種變體,更改了pom.xml參數。 這里是pom.xml的示例。

每次,都使用命令mvn clean install tomcat7:exec-war-only構建檔案,然后在目標目錄中創建.jar或.war檔案。

創建后,實現由java -jar Application.jar運行。 觀察到以下輸出:

INFO: Initializing ProtocolHandler ["http-bio-8080"]
Aug 29, 2019 9:58:58 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Tomcat
Aug 29, 2019 9:58:58 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.47
Aug 29, 2019 9:58:58 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]

導航到任何地址(例如http:// localhost:8080 / Application / home)時,我會收到404錯誤頁面(不是Tomcat提供,而是Chrome的錯誤頁面)。 通過mvn tomcat7:run運行相同的應用程序時,頁面將按預期加載。

任何人都可以對此提出建議嗎?

根據包裝( .jar.war ),您的網頁資源(html / css / js文件)必須位於不同的位置。 而且我猜您的URI稱為index.html頁面?

  • 對於.jar打包,請將其放在src/main/resources文件夾中
  • 對於.war包裝,請將其放在src/main/webapp文件夾中

就您而言,您的URL無法訪問,我懷疑您的Web資源不在好文件夾中。

鏈接可以幫助您更清楚地了解

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM