将属性 'source' 设置为 'org.eclipse.jst.jee.server:JSFTut' 没有找到匹配的属性
Posted
技术标签:
【中文标题】将属性 \'source\' 设置为 \'org.eclipse.jst.jee.server:JSFTut\' 没有找到匹配的属性【英文标题】:Setting property 'source' to 'org.eclipse.jst.jee.server:JSFTut' did not find a matching property将属性 'source' 设置为 'org.eclipse.jst.jee.server:JSFTut' 没有找到匹配的属性 【发布时间】:2011-04-03 17:29:12 【问题描述】:当我在控制台上运行演示 JSF 应用程序时出现以下错误
[SetPropertiesRule]Server/Service/Engine/Host/Context Setting property 'source' to 'org.eclipse.jst.jee.server:JSFTut' did not find a matching property.
【问题讨论】:
"SetPropertiesRule" warning message when starting Tomcat from Eclipse的可能重复 【参考方案1】:这不是错误。这是一个警告。差异是相当大的。这个特定的警告基本上意味着 Tomcat 的 server.xml
中的 <Context>
元素包含未知属性 source
,并且 Tomcat 不知道如何处理该属性,因此将忽略它。
Eclipse WTP 将自定义属性source
添加到Tomcat 的server.xml
中与项目相关的<Context>
元素,该元素标识上下文的来源(工作空间中部署到特定服务器的实际项目)。这样 Eclipse 可以将部署的 web 应用程序与工作区中的项目相关联。从 Tomcat 版本 6.0.16 开始,server.xml
中任何未指定的 XML 标记和属性都会在 Tomcat 启动期间产生警告,即使 server.xml
存在 no DTD nor XSD。
忽略它。你的网络项目很好。它应该运行良好。此问题与 JSF 完全无关。
【讨论】:
您可以将其添加到您的 logging.properties 以在阅读您的配置时抑制警告:org.apache.tomcat.util.digester.Digester.level = SEVERE 我注意到,如果您打开了 server.xml 文件,它不会重新添加上下文。我只是停止了服务器并关闭了 server.xml 文件,然后重新添加了项目。以为我会提到它,以防其他人遇到同样的问题。 This 线程实际上提供了一个有效的答案。它摆脱了警告。 :) (log4j.properties - 1.2.17 相同):log4j.logger.org.apache.tomcat.util.digester.Digester = ERROR
对我来说,警告是错误的指示——我的项目没有部署。 Tomcat 的 server.xml 中的上下文属性是一个提示——在删除 eclipse 生成的属性并从 Eclipse 重新部署之后,我又进了一步——现在 Eclipse 向我展示了一个带有真正错误的旧弹出窗口。【参考方案2】:
从服务器视图中从服务器中删除项目。然后在同一台服务器下运行项目。
问题在于@BalusC 告诉在 Eclipse 中配置的 tomcat 的 server.xml 损坏。所以当你执行上述过程时 server.xml 将被重新创建。
【讨论】:
我的 tomcat 实例在某一天(异常)启动得非常快,查看日志我注意到发布者的相同消息......我尝试清理并重新启动服务器无济于事。按照 arvindwill 的建议,删除然后将项目重新添加到服务器会有所帮助。【参考方案3】:我想我会在 Tomcat 7.x 中添加,<Context>
不在 server.xml
中,而是在 context.xml
中。删除和重新添加项目似乎对我的类似问题没有帮助,这是一个 web.xml 问题,我通过检查 context.xml
发现了这个问题,该行在 <Context>
部分中有这一行:
<WatchedResource>WEB-INF/web.xml</WatchedResource>
WARNING: Setting property 'source' to 'org.eclipse.jst.jee.server:appname' did not find a matching property 中的解决方案让我更接近我的答案,因为将发布更改为单独的 XML 确实为我解决了上面报告的错误,但不幸的是它产生了第二个错误,我仍在调查中。
WARNING: [SetContextPropertiesRule]Context Setting property 'source' to 'org.eclipse.jst.jee.server:myproject' did not find a matching property.
【讨论】:
【参考方案4】:关于设置 logging.properties 值
org.apache.tomcat.util.digester.Digester.level = SEVERE
...如果您在 Eclipse 中运行嵌入式 tomcat 服务器,则默认使用的 logging.properties
文件是 JDK 默认的 %JAVA_HOME%/jre/lib/logging.properties
如果您想使用不同的 logging.properties 文件(例如,在 tomcat 服务器的 conf
目录中),则需要通过 java.util.logging.config.file
系统属性进行设置。例如要使用文件 c:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties
中定义的日志记录属性,请将其添加到 VM 参数列表中:
-Djava.util.logging.config.file="c:\java\apache-tomcat-7.0.54\conf\eclipse-logging.properties"
(双击服务器图标,点击“打开启动配置”,选择“参数”选项卡,然后在“虚拟机参数”文本框中输入)
您可能还会发现添加 VM 参数很有用
-Djava.util.logging.SimpleFormatter.format="%1$tc %4$s %3$s %5$s%n"
同样,它将在输出中包含源记录器名称,这样可以更容易地确定在 logging.properties 文件中限制哪个记录器(根据http://docs.oracle.com/javase/7/docs/api/java/util/logging/SimpleFormatter.html)
【讨论】:
【参考方案5】:我也遇到过类似的问题。解决此问题的步骤。
-
从服务器中删除项目
为整个项目提供清理和构建
删除服务器
使用 Run as 部署和运行项目
希望这对你也有用。
【讨论】:
【参考方案6】:请检查是否有任何缺少特别jar的jar文件可能已被视为本地,因此放入lib文件夹然后创建WAR文件
【讨论】:
【参考方案7】:更新到最新版本
由于this commit,这在Tomcat的开发版本中是固定的。现在在发布的版本 9.0.13、8.5.35 和 7.0.92 中。
来自9.0.13changelog:
忽略 StandardContext 提供的 Context 元素上名为 source 的属性。这是为了抑制由 Eclipse 提供的 Eclipse / Tomcat 集成生成的警告。基于 mdfst13 的补丁。 (市场)
7.0.92 和 8.5.35 更改日志中有类似的条目。
此更改的效果是在 server.xml 或 context.xml 中的 Context
元素上声明 source
属性时抑制警告。由于这些是 Eclipse 放置此类属性的两个地方,因此可以解决此特定问题。
TL;DR:在其分支中更新到最新的 Tomcat 版本,例如9.0.13 或更高版本。
【讨论】:
【参考方案8】:这是这个警告的简单解决方案:
您可以更改 eclipse tomcat 服务器配置。打开 服务器视图,双击您的服务器以打开服务器配置。 有一个服务器选项选项卡。在该选项卡内单击复选框以 激活“将模块内容发布到单独的 XML 文件”。
最后,重启你的服务器,消息一定会消失。
【讨论】:
以上是关于将属性 'source' 设置为 'org.eclipse.jst.jee.server:JSFTut' 没有找到匹配的属性的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch 7.x 深入【1】索引【四】常用属性
图解Elasticsearch中的_source_allstore和index属性