111

当我从 Eclipse (3.4) 启动 Tomcat (6.0.18) 时,我收到此消息(日志中的第一个):

警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context} 将属性 'source' 设置为 'org.eclipse.jst.jee.server: (project name)' 没有找到匹配的属性。

似乎此消息没有任何严重影响,但是,有人知道如何摆脱它吗?

4

12 回答 12

151

这个问题的解决方案非常简单。双击您的 Tomcat 服务器。它将打开服务器配置。在服务器选项下选中“将模块内容发布到单独的 XML 文件”复选框。重新启动您的服务器。这次您的页面将没有任何问题。

于 2009-04-13T18:19:43.223 回答
32

来自Eclipse 新闻组

关于源属性的警告是 Tomcat 6.0.16 中的新警告,可能会被忽略。WTP 添加一个“源”属性来标识工作空间中的哪个项目与上下文相关联。Tomcat 中的 Context 对象没有相应的源属性这一事实不会导致任何问题。

我意识到这并不能回答如何摆脱警告,但我希望它有所帮助。

于 2008-09-19T22:40:39.327 回答
5

服务器选项卡

--> 双击服务器名

--> 服务器选项:勾选“将模块上下文发布到单独的 XML 文件”

重启你的服务器

于 2009-10-01T00:53:53.220 回答
5

我正在使用 Eclipse。我已经通过以下方式解决了这个问题:

  1. 打开服务器选项卡。
  2. 双击您正在使用的服务器。
  3. 在服务器配置页面上,转到服务器选项页面。
  4. 检查服务模块而不发布。
  5. 然后保存页面和配置。
  6. 通过重建所有应用程序重新启动服务器。

您不会收到任何此类错误。

于 2011-06-13T09:21:45.237 回答
3

从 Eclipse 中删除服务器实例并创建一个新实例。

于 2011-09-05T19:48:29.900 回答
0

我对 Eclipse 3.4(Ganymede) 和动态 web 项目有同样的问题。
该消息不影响成功部署。但我不得不删除行

<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>

来自 Eclipse 的 .settings 文件夹中的 org.eclipse.wst.common.component 文件

于 2008-12-10T07:53:00.263 回答
0

在问题出现之前,我复制了动态 Webproject。因此,更改 .settings 目录中的 org.eclipse.wst.common.component 文件为我解决了这个问题。其他解决方案不起作用。

于 2012-02-26T22:01:19.783 回答
0

单独的 XML 解决方案从未对我和其他人最近...

我通常遵循这个过程并且有一些帮助:

  1. 停止服务器(确保它通过任务管理器停止,我多次杀死 javaw.exe Eclipse 并没有真正正确关闭)
  2. 右键单击服务器->“添加和删除”。删除项目。结束。
  3. 右键单击服务器->“添加和删除”。添加项目。结束。
  4. 重启看看能不能用,如果不行就继续
  5. 双击服务器...查看它的发布位置(服务器路径:我认为它对我来说是一个 tmp# 目录,因为我使用了一个已经安装的 Tomcat 实例,我会重复使用,不确定如果使用 Eclipse 是否会有所不同内部/捆绑的 tomcat 服务器)
  6. 右键单击服务器并“清理”...上次对我有用(所以可能想先尝试一下),添加/删除项目在其他时候对我有用。如果不起作用,请继续...
  7. 从服务器路径中删除所有文件,并查看是否所有文件实际上都在那里构建和发布(/WEB-INF/classes 和 /webroot 中的其他常规文件)。
  8. 重新启动 Eclipse 和/或机器(不确定我是否需要达到这一点)
于 2013-05-14T14:45:50.580 回答
0

我发布我的答案是因为我怀疑上面的解决方案可能对某些人不起作用。

所以,你得到一个警告,

警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context} 将属性 'source' 设置为 'org.eclipse.jst.jee.server: (project name)' 没有找到匹配的属性。

而不是通过检查服务器配置中的该选项来禁用此警告(我确实尝试过),我建议您这样做:

  1. 首先通过右键单击项目资源管理器关闭所有现有项目。
  2. 删除所有已经与服务器同步的项目。
  3. 删除服务器并重新部署它。
  4. 创建一个新的动态项目,什么都不做,只是尝试在服务器上运行它。
  5. 检查控制台,您现在是否收到警告。(我的情况我没有得到任何)。
    这意味着您的项目有问题,而不是 Eclipse 或服务器。
  6. 现在重新启动服务器。暂时不要运行任何应用程序。
    您可能知道 Tomcat 容器在开始时会加载所有同步应用程序的上下文。
  7. 它将加载任何已经同步的应用程序的上下文。
  8. 这里有一个问题,如果你的项目真的有问题,它会显示异常的堆栈跟踪。仔细看,你会发现你的应用程序中的错误在哪里。

现在,如果您成功发现应用程序中存在错误,则可能的位置是查找容器用于加载应用程序的 web.xml 文件。就我而言,我在 servlet 映射中拼错了一个名称,这使我毫无意义地调试了 3 个小时。你的问题可能在其他地方。

还有一件事,如果您有许多应用程序与服务器同步,则其他应用程序的上下文可能是问题的根源。尝试一一调试。

于 2014-06-30T19:45:27.730 回答
0

我尊重这里给出的所有解决方案。

但是我在阅读所有这些后才知道,我们没有观察到 struts.xml 文件或 Web 应用程序所需的任何配置文件位于哪个文件夹。

我的解决方案是:

  1. 将 struts.xml 文件复制到我们项目的 src 文件夹中。
  2. 在eclipse中单击“文件-->全部保存”,然后单击“项目-->清理”。
  3. 重新启动服务器。

希望问题解决了。

于 2014-11-03T01:12:49.553 回答
0

确保您在 web.xml 文件中有正确的 jsp 文件名。通过用我当前的文件名替换 web.xml 中的默认 .jsp 文件名解决了这个问题

于 2015-08-12T22:24:49.197 回答
-2

我发现 Tomcat 似乎无法找到在其他项目中定义的类,甚至可能在主项目中。它在过滤器定义上失败,这是 web.xml 中的第一个定义。如果我将项目及其依赖项添加到服务器的启动配置中,那么我将继续遇到一个新错误,所有这些似乎都表明它没有正确设置项目。

我们的设置相当复杂。我们在 Eclipse 中有多个组件作为项目,具有单独的输出项目。我们有一个单独的 webapp 目录,其中包含静态 HTML 和图像,以及我们的 WEB-INF。

Eclipse 是“欧洲冬季版本”。Tomcat 是 6.0.18。我尝试了“动态 Web 模块”方面的 2.4 和 2.5 版。

谢谢你的帮助!

  • 理查德
于 2009-05-21T15:55:33.550 回答