我正在eclipse中使用JSF 2.2和Servlet 3.1 (Java EE7)做一个项目。我遇到的第一个问题是pom.xml中的一个错误:
<packaging>war</packaging>
错误:web.xml缺失,设置为true
我在互联网上进行了研究,并在我的pom.xml
中添加了以下行<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
之后错误消失了,但是当运行项目时得到错误:
. lang。NoClassDefFoundError: javax/servlet/jsp/jstl core/配置
我又在网上搜索了一下,把下面几行放到了pom.xml
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
问题解决了,只有当访问例如:
http://localhost: 8080/MeuSistema Login.jsf
(我将映射为jsf以嵌入xhtml)
他用jsp修改jsf,声明如下:
HTTP状态404 -/MeuSistema/Login.jsp
出于好奇,将。jsf更改为。xhtml,看看是否至少打开了对于文件,它返回以下内容:
HTTP状态404 - Not Found/Login.xhtml in ExternalContext as a Resource
我还发现了强制阅读web.xml
的替代方法。<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<webxml>src/main/webapp/WEB-INF/web.xml</webxml>
<warSourceDirectory>src/main/webapp/</warSourceDirectory>
</configuration>
</plugin>
但是问题还是一样的。
跟随我的pom.xml和web.xml:
http://pastebin.com/43nqctAn http://pastebin.com/GbqR9j9v嗯,似乎没有阅读web.xml。有趣的是没有任何控制台错误。
怎么了?
解决-只是在我的项目中删除文件夹.metada. project.settings. classpath
谢谢
只需将下面一行添加到项目的pom.xml中。
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>