2016-01-11 70 views
2

林春季啓動和tomcat一個初學者,我得到這個問題:春天開機戰爭無法找到的index.html

在部署在Tomcat服務器上的彈簧啓動war文件,我碰到一個問題,當我想添加靜態index.html作爲戰爭。

,使其能夠部署爲第一次世界大戰將此添加到我的應用程序類:

@SpringBootApplication 
@ComponentScan(basePackages = {"com.app"}) 
@EnableMongoRepositories(basePackages = {"com.app"}) 
public class MyApp extends SpringBootServletInitializer { 

    @Override 
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 
     return application.sources(MyApp.class); 
    } 

    public static void main(String[] args) { 
     SpringApplication.run(MyApp.class, args); 
    } 
} 

現在應用程序的工作,但中的index.html(它位於在src /主/資源)榮獲」 T顯示(即時得到白色標籤錯誤頁面與「發生意外錯誤(類型=不允許的方法,狀態= 405) 請求方法‘GET’不支持」。)

,但如果我創造這樣的:

@SpringBootApplication 
@ComponentScan(basePackages = {"com.app"}) 
@EnableMongoRepositories(basePackages = {"com.app"}) 
public class MyApp { 

    public static void main(String[] args) { 
     SpringApplication.run(MyApp.class, args); 
    } 
} 

它顯示了我的index.html(但該應用程序不適用於來自瀏覽器的GET請求,它在早期工作時獲取HTTP狀態404 - 請求的資源不可用。 )。

我該如何配置它,使它們都能工作?

這是我的pom.xml

<packaging>war</packaging> 
<build> 
    <finalName>myapp</finalName> 
</build> 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.3.1.RELEASE</version> 
</parent> 

<dependencies> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-mongodb</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-data-mongodb</artifactId> 
     <version>1.8.1.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-tomcat</artifactId> 
     <scope>provided</scope> 
    </dependency> 

    <!-- Test --> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.12</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>com.jayway.restassured</groupId> 
     <artifactId>rest-assured</artifactId> 
     <version>2.7.0</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-test</artifactId> 
     <scope>test</scope> 
    </dependency> 

</dependencies> 

回答

0

位於在src /主/資源

添加index.htmlsrc/main/resources/public目錄

根據spring boot's doc

默認情況下,春季啓動將在 類路徑或從ServletContext中

+0

根提供靜態內容從一個名爲/靜態目錄 (或/公共或/資源或/ META-INF /資源),它沒有工作。 我試圖把index.hml在此路徑: /src/main/resources/public/index.html /src/main/resources/static/index.html /src目錄/主/資源/index.html src/main/resources/META-INF/index.html 並且它沒有工作,與Whitelabel Error Page相同。 (MyApp類在src/main/java/com/app/main下) – user2212726

+0

您是否已將index.html添加到所有這些元素中?錯誤是什麼? –

+0

是的,我已經把它添加到他們所有的一次。 我得到的錯誤是: 白標籤錯誤頁面 此應用程序沒有明確的映射/錯誤,所以你看到這是一個後備。 1月12日星期二00:20:42 IST 2016 出現意外錯誤(type = Method Not Allowed,status = 405)。 不支持請求方法'GET' – user2212726