将属性“源”设置为“ org.eclipse.jst.jee.server:JSFTut”找不到匹配的属性


Answers:


191

这不是错误。这是一个警告。差异非常大。该特定警告基本上意味着<Context>Tomcat中的元素server.xml包含未知属性source,并且Tomcat不知道如何处理此属性,因此将忽略它​​。

Eclipse WTP 在Tomcat source的项目相关<Context>元素中添加了一个自定义属性,server.xml用于标识上下文的源(工作空间中的实际项目,该项目已部署到特定服务器)。这样,Eclipse可以将已部署的Web应用程序与工作空间中的项目相关联。从Tomcat 6.0.16版本开始server.xml,即使没有DTD或XSD,Tomcat中的所有未指定XML标记和属性也会在Tomcat启动期间产生警告server.xml

只是忽略它。您的网络项目很好。它应该运行良好。此问题与JSF完全无关。


5
您可以在读取配置时将其添加到logging.properties中以禁止显示警告:org.apache.tomcat.util.digester.Digester.level = SEVERE
Christian Christian

我注意到,如果您打开了server.xml文件,它不会重新添加上下文。我只是停止了服务器并关闭了server.xml文件,然后重新添加了项目。如果其他任何人遇到相同的问题,我会提到这一点。
迈克尔

线程实际上提供了一个有效的答案。它摆脱了警告。:)

(与log4j.properties相同-1.2.17):log4j.logger.org.apache.tomcat.util.digester.Digester = ERROR
boly38 '16

对我来说,该警告表明存在错误-我的项目尚未部署。Tomcat的server.xml中的上下文属性是一个提示-删除了eclipse生成的属性并从Eclipse重新部署后,我又走了一步-现在Eclipse向我展示了一个不错的老弹出窗口,带有真实错误。
Hervian

12

从服务器视图中从服务器中删除项目。然后在同一服务器下运行该项目。

问题是因为@BalusC告诉Eclipse中配置的tomcat的server.xml损坏。因此,当您执行上述过程时,将重新创建server.xml。


3
我的tomcat实例有一天(异常地)很快启动,并且在查看日志时,我注意到发帖人有相同的消息……我尝试清理并重新启动服务器无济于事。按照arvindwill建议,删除该项目并将其重新添加到服务器中对您有所帮助。
Armyofda12mnkeys 2013年

4

我以为我要为Tomcat 7.x添加它,<Context>不是在中server.xml,而是在中context.xml。删除并重新添加该项目似乎并没有解决我的类似问题,这是一个web.xml问题,我通过context.xml<Context>部分中检查具有以下内容的行发现了该问题:

<WatchedResource>WEB-INF/web.xml</WatchedResource>

警告:警告中的解决方案:将属性'source'设置为'org.eclipse.jst.jee.server:appname'找不到匹配的属性,这使我离答案更近了,因为发布为单独的XML的更改确实解决了该错误。上面为我提供了报告,但不幸的是,它产生了我仍在调查的第二个错误。

WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:myproject' did not find a matching property.



3

关于设置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.filesystem属性进行设置。例如,要使用文件中定义的日志记录属性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参数”文本框中输入此内容)

您可能还会发现添加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


1

更新到最新版本

提交以来,此问题已在Tomcat的开发版本中修复。现在发布的版本分别为9.0.13、8.5.35和7.0.92。

从9.0.13更新日志

忽略StandardContext提供的Context元素上名为source的属性。这是为了抑制由Eclipse提供的Eclipse / Tomcat集成生成的警告。基于mdfst13的补丁。(市场)

7.0.928.5.35变更日志中有类似的条目。

当在server.xml或context.xml中sourceContext元素上声明属性时,此更改的作用是抑制警告。由于这是Eclipse放置此类属性的两个地方,因此可以解决此特定问题。

TL; DR:更新到其分支中的最新Tomcat版本,例如9.0.13或更高版本。


0

这是此警告的简单解决方案:

您可以更改eclipse tomcat服务器配置。打开服务器视图,双击服务器以打开服务器配置。有一个服务器选项选项卡。在该选项卡内,单击复选框以激活“将模块内容发布到单独的XML文件 ”。

最后,重新启动服务器,该消息必须消失。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.