Нет встроенной инструкции таблицы стилей для файла: ошибка при использовании 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>

Если я редактирую файл конфигурации в 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 FilesJavajre7libendorsed
11:02:54,117 INFO  [main] Main  - launchFile: C:UsersroberthProgramming_Projectseclipse.metadata.pluginsorg.eclipse.wst.xsl.jaxp.launchinglaunchlaunch.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

Если я удаляю и воссоздаю конфигурацию, иногда она работает, иногда нет.

Если я редактирую файл в notepad++ или другом текстовом редакторе, он работает нормально.

Это проблема затмения или я что-то упустил?

2 13

2 ответа:

Это ошибка затмения, я тоже это заметил. Убедитесь, что вы используете правильную конфигурацию Eclipse Runtime config (т. е. если вы нажимаете на маленькую зеленую кнопку "Play" вверху, думая, что она повторно запустит последнюю (допустимую) выполняемую вами среду выполнения, повторно проверьте (нажав на стрелку вниз рядом с ней), чтобы убедиться, что не было создано новой среды выполнения).

Что я заметил, это то, что даже при том, что я создаю совершенно допустимое время выполнения, указывающее на основной класс Java и все остальное, которое я запускаю несколько раз и все хорошо, через некоторое время, если я выберу xml-файл (потому что я хотел отредактировать его, например), а затем оставлю его выбранным, когда я нажму на кнопку запуска, Eclipse создаст новое время выполнения преобразования XSLT для этого xml-файла и попытается запустить его, потерпев неудачу с исключением, о котором вы сообщаете. решение состоит в том, чтобы стереть это время выполнения, убедиться, что у меня нет выбранного xml-файла, и повторно запустить правильное время выполнения.

У меня была та же проблема с новейшей версией Eclipse Juno. Сначала кажется, что это ошибка внутри Eclipse. После закрытия активного окна внутри Eclipse (с пружиной-конфигурация.xml openend) я смог запустить контейнер spring без этой ошибки. Так что это зависело от конфигурации запуска. Позаботьтесь о том, чтобы вы запустили свой "основной" класс и не пытались "запустить" xml-конфигурацию. Это решило проблему для меня (Eclipse автоматически выбрал xml для запуска).