這在技術上不是一個編程問題,而是一個關於從Maven項目部署我的war文件時出現的錯誤的問題。構建一個可以由Maven Tomcat插件部署的war文件
我建立我的戰爭文件,運行後Tomcat7,並打開瀏覽器,我得到的錯誤是:
HTTP Status 404 - /vaadin-test/
type Status report
message /vaadin-test/
description The requested resource (/vaadin-test/) is not available.
我使用Vaadin作爲我的web應用程序平臺。我有一個非常簡單的項目,我試圖運行測試。我在我的POM文件中使用了tomcat7-maven-plugin
和maven-war-plugin
。戰爭插件配置看起來像這樣(我不認爲我甚至需要過濾):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<packagingExcludes>WEB-INF/web.xml</packagingExcludes>
<warName>vaadin-test</warName>
<webResources>
<resource>
<directory>src/main/webapp/</directory>
<filtering>true</filtering>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
的web.xml文件看起來是這樣的:
<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>com.catalystitservices.vaadin.TestApp</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>myservlet</servlet-name>
<url-pattern>/test-app</url-pattern>
</servlet-mapping>
無論我嘗試運行mvn tomcat7:run
或部署創建的war文件到外部Tomcat服務器(通過管理器頁面)我得到相同的錯誤。這導致我認爲我沒有正確構建戰爭文件。沒有錯誤日誌,我可以找到(但也許我想念他們)。
任何想法?
我可以看到我的戰爭文件,它看起來像'vaadin-test.war'。另外,Tomcat經理告訴我這個URL是vaadin-test。但是我會嘗試在我的'maven-war-plugin'中添加一個finalName。 – ksnortum
它轉到構建塊,而不是maven-war-plugin。另外,嘗試將/ test-app添加到URL,如下所示:/ vaadin-test/test-app – anttix
我將finalName更改爲vaadin-test,並且Maven的INFO消息表示「在http:// localhost:9090上運行war/VaadinTest'。當我運行這個URL時,我得到了同樣的錯誤。當我運行'localhost:9090/vaadin-test'並讓我的瀏覽器說它找不到URL。 – ksnortum