将属性'source'设置为'org.eclipse.jst.jee.server:JSFTut'没有找到匹配的属性

时间:2010-08-25 13:12:29

标签: java eclipse tomcat

当我在控制台上运行演示JSF应用程序时,我收到以下错误

[SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:JSFTut' did not find a matching property.

8 个答案:

答案 0 :(得分:188)

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

Eclipse WTP将自定义属性source添加到Tomcat的<Context>中与项目相关的server.xml元素,该元素标识上下文的来源(部署的工作空间中的实际项目)到特定的服务器)。这样,Eclipse可以将部署的Web应用程序与工作区中的项目相关联。自Tomcat 6.0.16版以来,server.xml中的任何未指定的XML标记和属性都会在Tomcat启动期间产生警告,即使server.xmlno DTD nor XSD

请忽略它。你的网络项目很好。它应该运行正常。这个问题与JSF完全无关。

答案 1 :(得分:12)

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

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

答案 2 :(得分:4)

我以为我会为Tomcat 7.x添加{} <Context>,而server.xml不在context.xml。删除和重新添加项目似乎没有帮助我的类似问题,这是一个web.xml问题,我通过检查context.xml部分中包含此行的<Context>找到了该问题:< / p>

<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.

答案 3 :(得分:4)

我遇到过类似的问题。解决此问题的步骤。

  1. 从服务器中删除项目
  2. 为整个项目提供清洁和构建
  3. 删除服务器
  4. 使用“运行方式”部署和运行项目
  5. 希望这也适合你。

答案 4 :(得分:3)

关于设置logging.properties值

org.apache.tomcat.util.digester.Digester.level = SEVERE

...如果您在eclipse中运行嵌入式tomcat服务器,默认情况下使用的logging.properties文件是%JAVA_HOME%/jre/lib/logging.properties

的JDK默认值

如果要使用其他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"

(双击服务器图标,点击&#39;打开启动配置&#39;,选择Arguments选项卡,然后在&#VM; VM参数&#39;文本框中输入

您可能还会发现添加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 :(得分:0)

更新到最新版本

this commit起,此问题已在Tomcat的开发版本中修复。现在发布的版本分别为9.0.13、8.5.35和7.0.92。

从9.0.13 changelog

  

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

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

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

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

答案 6 :(得分:0)

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

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

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

答案 7 :(得分:-1)

请检查是否有任何jar文件丢失特别是罐子可能是本地的,所以放入lib文件夹然后创建WAR文件