web.config中的JBoss7.1.3 servlet-name产生了ClassNotFoundException:javax.faces.webapp.FacesServlet

时间:2013-03-27 13:59:16

标签: maven jsf-2 jboss7.x java-ee-6

我正在尝试使用javaee6-api,jsf-api-2.1.19在jboss7.1.3中创建一个javaee6 ear应用程序,不幸的是,无论何时我指定

,我都无法解决这个问题
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

JBoss正在抛弃:

Caused by: java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet from [Module "deployment.myApp.ear.myApp-web.war:main" from Service Module Loader]

jsf罐子在我的战争和耳朵项目中。我已经指定:

<context-param>
    <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
    <param-value>true</param-value>
</context-param>

让应用程序使用我打包的jsf。

但是当我删除servlet时,应用程序已成功部署。有什么想法吗?

谢谢,
czetsuya

1 个答案:

答案 0 :(得分:0)

我解决这个问题的方法是删除maven war插件中的额外配置,同样也会导致Mojarra拆解问题。

这就是剩下的:

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>${version.war.plugin}</version>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
</plugin>