没有用于文件的嵌入式样式表指令:使用logback的错误

Rob*_*t H 13 eclipse logback

我有以下logback.xml配置:

<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
    </encoder>
  </appender>

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logFile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- daily rollover -->
      <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>

      <!-- keep 30 days' worth of history -->
      <maxHistory>30</maxHistory>
    </rollingPolicy>

    <encoder>
      <pattern>%-4relative [%thread] %highlight(%-5level) %cyan(%logger{35}) - %msg%n</pattern>
    </encoder>
  </appender> 

  <root level="DEBUG">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="FILE" /> 

  </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

如果我在eclipse(juno)中编辑配置文件,我会收到以下错误:

11:02:54,114 INFO  [main] Main  - javax.xml.transform.TransformerFactory=null
11:02:54,115 INFO  [main] Main  - java.endorsed.dirs=C:\Program Files\Java\jre7\lib\endorsed
11:02:54,117 INFO  [main] Main  - launchFile: C:\Users\roberth\Programming_Projects\eclipse\.metadata\.plugins\org.eclipse.wst.xsl.jaxp.launching\launch\launch.xml
11:02:54,145 FATAL [main] Main  - No embedded stylesheet instruction for file: file:/C:/Users/roberth/Programming_Projects/eclipse/javaport/src/logback.xml
org.eclipse.wst.xsl.jaxp.debug.invoker.TransformationException: No embedded stylesheet instruction for file: file:/C:/Users/roberth/Programming_Projects/eclipse/javaport/src/logback.xml
    at org.eclipse.wst.xsl.jaxp.debug.invoker.internal.JAXPSAXProcessorInvoker.transform(JAXPSAXProcessorInvoker.java:225)
    at org.eclipse.wst.xsl.jaxp.debug.invoker.internal.JAXPSAXProcessorInvoker.transform(JAXPSAXProcessorInvoker.java:186)
    at org.eclipse.wst.xsl.jaxp.debug.invoker.internal.Main.main(Main.java:73)
Caused by: org.eclipse.wst.xsl.jaxp.debug.invoker.TransformationException: No embedded stylesheet instruction for file: file:/C:/Users/roberth/Programming_Projects/eclipse/javaport/src/logback.xml
    at org.eclipse.wst.xsl.jaxp.debug.invoker.internal.JAXPSAXProcessorInvoker.transform(JAXPSAXProcessorInvoker.java:214)
    ... 2 more
Run Code Online (Sandbox Code Playgroud)

如果我删除并重新创建配置,有时它会工作,有时它不会.

如果我在notepad ++或其他文本编辑器中编辑文件,它可以正常工作.

这是一个日食问题还是我错过了什么?

Shi*_*gon 42

这是一个Eclipse bug,我也注意到了它.确保你正在运行正确的Eclipse Runtime配置(即如果你点击顶部的绿色"Play"按钮,认为它将重新运行你运行的最后一个(有效)运行时,重新运行检查(通过单击它旁边的向下箭头)以确保没有创建新的运行时).

我注意到它虽然我创建了一个完全有效的运行时指向Java主类和所有东西,我运行了几次并且一切都很好,过了一会儿,如果我选择一个xml文件(因为我我想编辑它,然后在我单击我的运行按钮时选择它,Eclipse将为该xml文件创建一个新的XSLT Transformation运行时并尝试运行它,失败并报告您的异常.解决方案是擦除运行时,确保没有选择xml文件,并重新运行正确的运行时.

  • 由于Google在这里指出了这个错误,我将添加我遇到的方式 - 在eclipse中,我使用windows pc"f11"键作为"debug"的快捷方式.大多数情况下它会重新运行我调试的最后一件事.但是如果你有一个XML文件作为当前文件在编辑器中打开,eclipse"调试"XML文件而不是你正在处理的java程序. (9认同)