[英]“The requested resource is not available” when deploying Spring MVC webapp to JBoss
[英]Deploying Spring MVC webapp
我有Spring MVC應用程序,除了pom.xml(完全注釋驅動)之外,沒有xml。 我想打仗並將應用程序部署到tomcat服務器。 我包括了maven插件:
<build>
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
這是我的MvcInitializer類:
public class MvcInitializer extends
AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { MvcConfig.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return null;
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
}
當我使用目標為“包”的maven進行構建時,出現以下錯誤:
Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)
我必須怎么做才能獲得可以在tomcat服務器中運行的有效war文件?
順便說一句,我可以在IDE的Tomcat中運行我的應用程序,但是我想對其進行部署。
將此添加到您的pom.xml
:
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
更新 :最好將MvcConfig
作為servlet configs
一部分而不是root configs
:
public class MvcInitializer extends
AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[] { MvcConfig.class };;
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.