从Eclipse启动Tomcat时出现“SetPropertiesRule”警告消息
当我从Eclipse(3.4)启动Tomcat(6.0.18)时,收到此消息(首先在日志中):
警告:[SetPropertiesRule] {服务器/服务/引擎/主机/上下文}将属性'源'设置为'org.eclipse.jst.jee.server :(项目名称)'找不到匹配的属性。
似乎这个消息没有任何严重的影响,但是,有没有人知道如何摆脱它?
解决这个问题非常简单。 双击你的Tomcat服务器。 它将打开服务器configuration。 在服务器选项下,选中“发布模块内容以分离XML文件”checkbox。 重新启动您的服务器。 这一次您的网页将没有任何问题。
来自Eclipse新闻组 :
有关源属性的警告对于Tomcat 6.0.16是新的,可能会被忽略。 WTP添加一个“源”属性来标识工作区中的哪个项目与上下文相关联。 Tomcat中的Context对象没有相应的源属性不会导致任何问题。
我意识到这不能解决如何摆脱这个警告,但我希望它有帮助。
我正在使用Eclipse。 我已经通过以下方式解决了这个问题:
- 打开服务器标签。
- 双击您正在使用的服务器。
- 在服务器configuration页面上,转至服务器选项页面。
- 检查服务模块,不发布。
- 然后保存页面和configuration。
- 通过重build所有应用程序重新启动服务器。
你不会得到任何这种错误。
服务器标签
– >双击服务器名称
– >服务器选项:勾选“发布模块上下文来分离XML文件”
重启你的服务器
从Eclipse中删除服务器实例并创build一个新实例。
在问题出现之前,我复制了dynamicWeb项目。 所以,更改.settings目录中的org.eclipse.wst.common.component文件解决了我的问题。 其他解决scheme不起作用。
我有与Eclipse 3.4(Ganymede)和dynamicWeb项目相同的问题。
这个消息并没有影响成功的部署,但我不得不删除行
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
来自Eclipse的.settings文件夹中的org.eclipse.wst.common.component文件
单独的XML解决scheme从来没有为我和其他人最近…
我通常遵循这个过程,并有所帮助:
- 停止服务器(确保它通过任务pipe理器停止,我杀了javaw.exe很多时候,Eclipse并没有真正closures)
- 右键单击服务器 – >“添加和删除”。 删除该项目。 完。
- 右键单击服务器 – >“添加和删除”。 添加项目。 完。
- 重新启动看是否有效,如果不能继续
- 双击服务器…看看它发布的地方(服务器path:我认为这是我的tmp#目录,因为我使用已经安装的Tomcat实例我重新使用,不确定如果使用Eclipse的内部/捆绑的tomcat服务器)
- 右键单击服务器和“清理”…上次为我工作(所以可能要先尝试这一点),其他时间添加/删除项目为我工作。 如果不行,继续…
- 从服务器path中删除所有文件,看看是否所有的文件实际构build并在那里发布(/ WEB-INF / classes和其他常规文件在/ webroot中)。
- 重新启动Eclipse和/或机器(不知道我需要达到这一点)
我张贴我的答案,因为我怀疑有可能有人在上面的解决scheme可能没有工作。
所以,你得到一个警告,
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server: (project name)' did not find a matching property.
而不是通过检查服务器configuration中的选项来禁用此警告(我曾尝试过)我build议你这样做,
1)首先在项目浏览器中右击,closures所有现有的项目
2)删除所有已经与服务器同步的项目。
3)删除服务器并重新部署。
4)创build一个新的dynamic项目,不要做任何事情,只是尝试在服务器上运行。
5)检查控制台,你现在得到警告(我的情况我没有得到任何)
//这意味着你的项目没有eclipse或者服务器。
6)现在重新启动server.Dont运行任何应用程序呢
//你可能知道Tomcat容器加载了所有同步应用程序的上下文
//开始。
7)它会加载任何已经同步的应用程序的上下文。
8)这里有一个问题,如果你的项目中出现了错误,它会显示exception的堆栈跟踪。仔细查看,你会发现应用程序中的错误在哪里
现在,如果您成功发现应用程序中存在错误,那么可能的地方就是查找容器用于加载应用程序的web.xml文件。 就我而言,我在servlet映射中拼错了一个名字,这让我无意义地debugging了3个小时。 你的问题可能是其他地方。
另一件事,如果你有很多与服务器同步的应用程序,有可能是其他应用程序的上下文可能是问题的根源。 尝试逐一debugging。
我希望这有助于…
我尊重这里给出的所有解决scheme。
但是在读完所有这些知识后,我们并没有观察到在哪个文件夹中的struts.xml文件或Web应用程序所需的任何configuration文件。
我的语言是:
- 将struts.xml文件复制到我们项目的src文件夹中。
- 点击eclipse中的“file – > save all”,然后点击“project – > clean”。
- 重新启动服务器。
希望问题解决了。
确保在web.xml文件中有正确的jsp文件名。 通过用我当前的文件名replaceweb.xml中的默认.jsp文件名解决了这个问题
我发现Tomcat似乎无法find在其他项目中定义的类,甚至在主项目中。 它在web.xml中的第一个定义的filter定义上失败。 如果我将项目及其依赖关系添加到服务器的启动configuration,那么我只是继续出现一个新的错误,所有这些似乎都指向不正确地设置项目。
我们的设置相当复杂。 在Eclipse中,我们有多个组件作为独立的输出项目。 我们有一个单独的webapp目录,其中包含静态的HTML和图像,以及我们的WEB-INF。
Eclipse是“欧罗巴冬季发布”。 Tomcat是6.0.18。 我尝试了“dynamicWeb模块”方面的版本2.4和2.5。
感谢您的帮助!
- 理查德