Eclipse报错 Setting property 'source' to 'org eclipse jst jee

最近把Eclipse的maven插件从m2eclipse更新到m2e后出了一些莫名其妙的的问题。今天又出了一个,就是Eclipse新建的Maven Web project在tomcat里启动后报错,具体报错信息如下:

Shell代码  

  1. 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ‘source‘ to ‘org.eclipse.jst.jee.server:test1‘ did not find a matching property.

对于这个问题,网上很多人给出的原因和解决方案如下:

写道

出现SetPropertiesRule警告的原因是因为Tomcat在server.xml的Context节点中不支持source属性:<Context docBase="…" path="/…" source="org.eclipse.jst.j2ee.server:…"/>

解决方法是在Servers视图里双击创建的server,然后在其server的配置界面中选中"Publish module contexts to separate XML files"选项。

不过我按这种方式操作后发现还是会报这个问题,除了这种方式之外网上也没有什么参考资料了,这个问题纠结了我几天。仔细检查工程结构后发现我的工程根目录下生成了一个WebContent文件夹。具体截图如下:

一般来说正常的maven项目的web资源文件都是默认位于src/main/webapp下,WebContent只是普通的Dynamic Web project使用的默认Web文件目录。而我这个工程竟然同时生成了这两个目录,而且两个目录下都有WEB-INF文件夹。这个是不是问题的根源呢?

为了排查,我又重新新建了一个maven web project,工程名为test2。新建完后发现并没有生成WebContent文件夹。我们都知道,Eclipse中建Maven Web工程需要添加Project Facets。具体步骤如下图所示:

1.右键--Properties

2.选择Project Facets,然后点击右边的Convert to faceted from...

3.在弹出的窗口中选择Dynamic Web Module

4.如上图所示在窗口下方还有一个Further configuration available...,点击后弹窗如下,打开完后终于找到了原因所在,在这一步需要设置工程的content directory,如果不设置,目录名称默认就是WebContent。

前一步我是没有设置,所以才会生成默认的WebContent目录。

添加完Facets后,把test2工程部署在tomcat启动,发现之前的错误已经不存在了。

解决完问题后,心里还是有点不踏实,问题的根源到底是什么呢。逐一比对了两个工程的文件内容后终于发现了区别所在。区别在于工程.settings文件夹下。.settings目录下的文件附图如下:

上图高亮的部分的两个文件就是区别所在。

其中.jsdtscope中有一行定义:

Xml代码  

  1. <classpathentry kind="src" path="WebContent"/>

而test2工程的定义如下:

Xml代码  

  1. <classpathentry kind="src" path="src/main/webapp"/>

另外org.eclipse.wst.common.component文件中定义了工程的wb-resource

Xml代码  

  1. <wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>

test2工程的定义如下:

Xml代码  

  1. <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>

综上所述,推测tomcat在部署工程时会去查找.settings中定义的配置。如果配置有问题,则会报错。上面的问题,只要把test1工程.settings目录下对应的两个文件的配置修改后重新部署就能正常启动了。

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

Eclipse报错 Setting property 'source' to 'org eclipse jst jee

原文地址:https://www.cnblogs.com/skinchqqhah/p/10350203.html

时间: 2024-10-18 17:43:44

Eclipse报错 Setting property 'source' to 'org eclipse jst jee的相关文章

Eclipse报错:Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee.server:fzxt_tj&#39; did not find

在eclipse中启动tomcat时出现Setting property 'source' to 'org.eclipse.jst.jee.server:你的站点名'   did not find a matching property错误 解决办法: 1.在server控制台内,在服务器上点右键--属性 2.general选项卡中点switch location 这时,location变为:/servers/tomcat6.0 server at localhost.server 3.在pro

eclipse使用tomcat打开maven项目时,报警告 警告: [SetContextPropertiesRule]{Context} Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee.server:wechatManage&#39; did not find a matching property.

我是Tomcat7.0,网上的一些做法根本实现不了!而且一个copy一个,真的烦. 我的解决方法: 将server.xml文件中的 <Context docBase="wechatManage" path="/wechatManage" reloadable="false" source="org.eclipse.jst.jee.server:wechatManage"/> 改成 <Context docBa

警告: [SetContextPropertiesRule]{Context} Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee.server:20160928&#39; did not find a matching property

新建一个动态web工程,在web-content目录下新建了一个a.jsp文件如下: 在servlet服务器上运行a.jsp,本来除以0应该出现报错,但是网页却显示如下结果: 控制台看到如下警告: 症状原因: 在eclipse配置好的tomcat服务器上双击,打开tomcat服务器的配置界面.按如下操作配置服务器:在Server Options勾上的选项,会在你部署web项目20160928 服务器会在tomcat根目录\conf\Catalina\localhost下自动创建的.xml的单应用

eclipse下启动tomcat9出现Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee.server:

看了网上的众说纷纭,发现到了我这没有一个好使的处理方法,不过我自己搞了一两天,自己搞出个和他们都太一样的. 先来个错误信息的关键字 警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:org.joven.foundation.utils' did not find a matching property. 有人说在处理的时候将代码的发布路径改了改到weba

转: 解决Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee.server的问题

我发现这个问题上网搜索 ,找到的地址为:http://blog.csdn.net/z69183787/article/details/19911935 .但是他的标题上也有一个"转",我没找到原作者,暂时只把找到的原址标注一下吧 这是我于2013年9月4号晚遇到的问题,为了这个问题我一夜没睡!对于这个问题,我相信我的方法已经能帮90%的人解决了!当你用Eclipse运行web项目的时候,你就会看到控制台出现:WARNING: [SetPropertiesRule]{Server/Ser

警告: [SetContextPropertiesRule]{Context} Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee.server:

当你用Eclipse运行web项目的时候,你就会看到控制台出现: 警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:TestServlet' did not find a matching property. 这样的字样,说的是server.xml的Service标签里的Engine标签里的Host标签里的Context标签配置了一个'source'属性

eclipse下启动tomcat出现Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee.server: &#39;错误的解决办法

在eclipse中启动tomcat时出现Setting property 'source' to 'org.eclipse.jst.jee.server:你的站点名'   did not find a matching property错误 解决办法: 1.在server控制台内,在服务器上点右键--属性 2.general选项卡中点switch location 这时,location变为:/servers/tomcat6.0 server at localhost.server 3.在pro

警告: [SetContextPropertiesRule]{Context} Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee.server:build-manager&#39; did not find a matching property.

今天用Eclipse运行web项目的时候,看到控制台出现:WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:firstProject' did not find a matching property. 这样的字样,说的是server.xml的Service标签里的Engine标签里的Host标签里的Co

tomcat警告:Setting property &#39;source&#39; to &#39;org.eclipse.jst.j2ee.server:ServletPro&#39; did not find a matching property

警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:ServletPro' did not find a matching property. 原因:这是因为我们在eclipse下,通过tomcat部署web工程时,tomcat的配置文件server.xml中会自动生成一个关于该web工程的配置信息,类似于下面的东