从 Eclipse 启动 Tomcat 时出现“SetPropertiesRule”警告消息 [重复]
Posted
技术标签:
【中文标题】从 Eclipse 启动 Tomcat 时出现“SetPropertiesRule”警告消息 [重复]【英文标题】:"SetPropertiesRule" warning message when starting Tomcat from Eclipse [duplicate] 【发布时间】:2010-09-11 09:59:23 【问题描述】:当我从 Eclipse (3.4) 启动 Tomcat (6.0.18) 时,我收到此消息(日志中的第一个):
警告: [SetPropertiesRule]服务器/服务/引擎/主机/上下文 将属性“源”设置为 'org.eclipse.jst.jee.server:(项目名称)' 没有找到匹配的属性。
似乎这条消息没有任何严重影响,但是,有人知道如何摆脱它吗?
【问题讨论】:
***.com/questions/3566146/… Alberto Yano 目前接受的答案是错误的。不要盲目地从众投票。另见那里的 cmets。正确答案在上面链接的副本中。 @BalusC 你是在要求 SO 成员反对牛群??从不 【参考方案1】:这个问题的解决方法很简单。双击您的 Tomcat 服务器。它将打开服务器配置。在服务器选项下选中“将模块内容发布到单独的 XML 文件”复选框。重新启动您的服务器。这一次您的页面将没有任何问题。
【讨论】:
正确答案,尽可能不要“忽略”警告。忽略足够多的警告,总有一天它们会让你错过真正的问题。 我试过了,但警告仍然存在。 当这件事发生在我身上时,这个页面和其他页面说要使用上述解决方案,但就像上面的评论者 stivlo 一样,它对我不起作用。起作用的是完全删除服务器并创建一个新服务器,然后将服务添加到其中。之后一帆风顺。我猜这是我在途中某处修改的设置... 这个答案不正确。警告仍然会出现,只是不再出现在服务器启动开始期间的日志顶部,但它会显示在(每个!)单个 webapp 启动开始时的日志中间。所以,你不会立即看到它,但它仍然会颠覆 OCD 和纯粹的开发者;) 从进一步的研究来看,这不是一个解决方案。它只是延迟了警告。我可以报告这对我也不起作用(Tomcat 7 + Eclipse Luna)。【参考方案2】:来自Eclipse Newsgroup:
关于源属性的警告 是 Tomcat 6.0.16 的新功能,可能是 忽略。 WTP 添加一个“来源”属性 确定哪个项目在 工作区与 语境。上下文的事实 Tomcat中的对象没有对应的 源属性不会导致任何 问题。
我意识到这并不能回答如何摆脱警告,但我希望它有所帮助。
【讨论】:
当您听到“可以忽略该警告!”时,您不喜欢它吗?如果警告毫无价值,他们为什么要显示它? 好像我们没有足够的真正警告或错误来担心,我们不得不把时间浪费在这样的垃圾上。 +1 更多理由放弃 Tomcat 并升级到 Glassfish。【参考方案3】:我正在使用 Eclipse。我已经通过以下方式解决了这个问题:
-
打开服务器选项卡。
双击您正在使用的服务器。
在服务器配置页面转到服务器选项页面。
检查服务模块而不发布。
然后保存页面和配置。
通过重建所有应用程序重新启动服务器。
您不会收到任何此类错误。
【讨论】:
【参考方案4】:服务器选项卡
--> 双击服务器名
--> 服务器选项:勾选“将模块上下文发布到单独的 XML 文件”
重启你的服务器
【讨论】:
【参考方案5】:从 Eclipse 中删除服务器实例并创建一个新实例。
【讨论】:
【参考方案6】:我在问题出现之前复制了动态 Web 项目。因此,更改 .settings 目录中的 org.eclipse.wst.common.component 文件为我解决了这个问题。其他解决方案无效。
【讨论】:
【参考方案7】:我在 Eclipse 3.4(Ganymede) 和动态 Web 项目中遇到了同样的问题。 该消息不影响成功部署。但我不得不删除行
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
来自 Eclipse 的 .settings 文件夹中的 org.eclipse.wst.common.component 文件
【讨论】:
【参考方案8】:单独的 XML 解决方案最近对我和其他人都不起作用...
我通常会遵循这个过程,并且会有所帮助:
-
停止服务器(确保它通过任务管理器停止,我杀死了 javaw.exe 很多次 Eclipse 并没有真正正确关闭)
右键单击服务器->“添加和删除”。删除项目。完成。
右键单击服务器->“添加和删除”。添加项目。完成。
重启看看是否有效,如果无效则继续
双击服务器...查看它的发布位置(服务器路径:我认为它转到了一个 tmp# 目录,因为我使用了一个我重复使用的已安装的 Tomcat 实例,不确定是否会有所不同如果使用 Eclipse 的内部/捆绑的 tomcat 服务器)
右键单击“服务器”并“清理”...上次对我有用(所以可能想先尝试一下),其他时候添加/删除项目对我有用。如果不起作用,请继续...
从服务器路径中删除所有文件,并查看是否所有文件实际上都在那里构建和发布(/WEB-INF/classes 和 /webroot 中的其他常规文件)。
重新启动 Eclipse 和/或机器(不确定我是否需要到达这一点)
【讨论】:
【参考方案9】:我尊重这里给出的所有解决方案。
但是我在阅读所有这些后才知道,我们没有观察到struts.xml文件或Web应用程序所需的任何配置文件在哪个文件夹中。
我的解决方案是:
-
将 struts.xml 文件复制到我们项目的 src 文件夹中。
在eclipse中点击“file-->save all”,然后点击“project-->clean”。
重启服务器。
希望问题得到解决。
【讨论】:
【参考方案10】:确保您在 web.xml 文件中有正确的 jsp 文件名。通过用我当前的文件名替换 web.xml 中的默认 .jsp 文件名解决了问题
【讨论】:
【参考方案11】:我发布我的答案是因为我怀疑上面的解决方案可能对某些人不起作用。
所以,你得到一个警告,
警告:[SetPropertiesRule]Server/Service/Engine/Host/Context 将属性 'source' 设置为 'org.eclipse.jst.jee.server: (project name)' 没有找到匹配的属性。
建议您这样做:
-
首先在项目资源管理器中单击鼠标右键关闭所有现有项目。
删除所有已与服务器同步的项目。
删除服务器并重新部署它。
创建一个新的动态项目,什么都不做,只是尝试在服务器上运行它。
检查控制台,您现在是否收到警告。 (我的情况我没有得到任何)。
这意味着您的项目有问题,而不是 Eclipse 或服务器。
现在重新启动服务器。暂时不要运行任何应用程序。
您可能知道 Tomcat 容器在开始时会加载所有同步应用程序的上下文。
它将加载任何已经同步的应用程序的上下文。
这里有一个问题,如果您的项目确实有问题,它会显示异常的堆栈跟踪。仔细查看,您会发现应用程序中的错误在哪里。
现在,如果您成功发现应用程序中存在错误,则可能的位置是查找容器用于加载应用程序的 web.xml 文件。就我而言,我在 servlet 映射中拼错了一个名称,这使我毫无意义地调试了 3 个小时。你的问题可能在其他地方。
另外,如果您有许多应用程序与服务器同步,那么其他应用程序的上下文可能是问题的根源。尝试一一调试。
【讨论】:
【参考方案12】:我发现 Tomcat 似乎无法找到在其他项目中定义的类,甚至可能在主项目中。它在 web.xml 中的第一个定义的过滤器定义上失败。如果我将项目及其依赖项添加到服务器的启动配置中,那么我将继续遇到一个新错误,所有这些似乎都表明它没有正确设置项目。
我们的设置相当复杂。我们在 Eclipse 中有多个组件作为项目,具有单独的输出项目。我们有一个单独的 webapp 目录,其中包含静态 html 和图像,以及我们的 WEB-INF。
Eclipse 是“欧洲冬季版本”。 Tomcat 是 6.0.18。我尝试了“动态 Web 模块”方面的 2.4 和 2.5 版。
感谢您的帮助!
理查德【讨论】:
这本身就是一个问题!?如果您想找到解决方案,请创建一个问题(或检查类似问题)。以上是关于从 Eclipse 启动 Tomcat 时出现“SetPropertiesRule”警告消息 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在Eclipse中启动tomcat后访问tomcat首页时出现404
从 Eclipse 3.5 在 Tomcat 6 上运行 Spring + Maven2 项目时出现 ClassNotFoundException
用eclipse部署tomcat时出现异常:java.lang.IllegalArgumentException