2017-03-18 45 views
1

我想在我的本地tomcat上運行簡單的web應用程序 - 該應用程序基本上是在IntelliJ中創建「web應用程序」時獲得的,因此目錄結構是「vanilla」。我從字面上不接觸index.jsp或web.xml。在Tomcat下的war文件中的index.jsp

我的Maven下這樣做,所以這裏是我的POM文件:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.testapps</groupId> 
    <artifactId>Test_App_1</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>war</packaging> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.6.1</version> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <configuration> 
        <webXml>web\WEB-INF\web.xml</webXml> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 


</project> 

因此,這裏是我在做什麼:

  1. 下的Maven構建這個 「項目」:mvn compile install
  2. 我正在將app_name.war文件從本地存儲庫複製到tomcat webapps目錄中
  3. 正在運行tomcat:catalina start
  4. 我可以看到我的應用程序在管理器中,但是當我嘗試輸入它時(或者當我輸入http://localhost:8080/app_name時)會發生404錯誤。

我在做什麼錯了?我不理解一些基本概念或缺少一些基本的東西嗎?我是否應該明確地將這個index.jsp包含到我的.war文件中?如果是這樣,我該如何在IntelliJ下做到這一點?我真的只是試圖運行這個「香草」應用程序,我的印象是,index.jsp應該是這個.war文件的一部分,它應該「自動」顯示。當我手動完成時,所以我將在webapps文件夾中創建一些TestDirectory,複製相同的index.jsp文件並將其放在該目錄中,然後訪問它http://localhost:8080/TestDirectory - 它會自動顯示該index.jsp文件。

對不起,可能是愚蠢的問題,我真的是新來的,我找不到解決方案。

+1

*我的印象中,index.jsp的應該是這個.war文件*的一部分:你爲什麼不檢查? –

+0

那麼.war文件是否包含index.jsp?戰爭文件只是一個zip文件,你至少可以看到它是否從戰爭中失蹤(儘管可能不是)。 – Kayaman

回答

0

刪除Maven的戰爭插件,該生成後在服務器重新部署和測試

+2

謝謝你的回答 - 這部分是有用的。正如你所看到的,我已經包含war插件conf來提供web.xml的路徑,因爲maven找不到它自己。事實證明,IntelliJ在項目的根目錄中創建了web目錄(其中包含WEB-INF/web.xml和index.jsp),而它應該放置在... \ src \ main中,並且目錄應該是'webapp'。因此,在改變項目結構(並刪除戰爭插件,因爲這是無關緊要的),一切正常。謝謝。 – 3michalzak