我正在开发一个 Maven Web应用程序,它由两个war文件组成,使用重叠方法。 war文件使用的是JSF 1.2依赖项。我没有问题构建,部署或运行项目,一切正常,但是我得到一个错误标记,这让我很生气:
看起来Eclipse在我的战争中没有注意到Dynamic Web Module 2.5,即使我安装了这个方面。现在我正在使用Eclipse Juno,但我也遇到过以前版本的问题。似乎JSF 1.2方面存在一些问题。这是我的 org.eclipse.wst.common.project.facet.core.xml 文件:
主要项目
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="2.5"/>
<installed facet="jst.jsf" version="1.2"/>
<installed facet="jst.jaxrs" version="1.0"/>
<installed facet="jboss.m2" version="1.0"/>
</faceted-project>
战争依赖
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="2.5"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="jst.jaxrs" version="1.0"/>
<installed facet="jboss.m2" version="1.0"/>
<installed facet="jst.jsf" version="1.2"/>
</faceted-project>
有没有人有类似的问题?我认为facet配置正确完成,所以不知道为什么我收到这个错误..
更新
这可能是服务器运行时配置问题,但如果我转到我的项目配置,在 Java Build Path , Libraries 选项卡中,我发现的所有内容都是JRE系统库适用于JavaSE-1.6和Maven依赖项。似乎没有服务器运行时间。
答案 0 :(得分:5)
警告显示项目中的“ some where ”,动态网络模块设置为小于2.5的版本
根据您提供的面部配置,您似乎使用的是DWM 2.5
<installed facet="jst.web" version="2.5"/>
所以在你的项目的其他地方,还有对较低版本的引用。
<web-app xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
web="http://java.sun.com/xml/ns/javaee/webapp_2_5.xsd"
schemalocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
答案 1 :(得分:0)
最有可能发生的事情是您的服务器运行时,在a中选择 向导中的上一页,正在过滤Web模块版本 根据其适配器允许的内容提供。
我正在使用Tomcat 6 - 它对我来说效果很好并且支持2.5版本。
答案 2 :(得分:0)
@Xtreme Biker
更改动态网络模块的简单方法
点击右键点击项目 - &gt;属性 - &gt;项目方面 - &gt;单击链接,然后根据您的要求更改动态Web模块部件。