web-dev-qa-db-ja.com

ファイルの埋め込みスタイルシートの指示はありません:ログバックを使用したエラー

私は以下を持っています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 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

構成を削除して再作成すると、動作する場合と動作しない場合があります。 Notepad ++または別のテキストエディタでファイルを編集すると、正常に動作します。これはEclipseの問題ですか、それとも何か不足していますか?

15
Robert H

それはEclipseのバグです。私もそれに気付きました。正しいEclipseランタイム構成を実行していることを確認してください(つまり、上部の小さな緑色の[再生]ボタンをクリックした場合、最後に実行した(有効な)ランタイムが再実行されると考えて、再(横にある下矢印をクリックして)新しいランタイムが作成されていないことを確認します)。

私が気づいたのは、Javaメインクラスとすべてを参照する完全に有効なランタイムを作成しますが、しばらくするとすべて正常に動作しますが、 xmlファイルを選択し(たとえば、それを編集したいため)、実行ボタンをクリックするときに選択したままにすると、Eclipseはそのxmlファイルの新しいXSLT変換ランタイムを作成して実行しようとしますが、失敗します報告する例外。解決策は、その実行時間を消去し、xmlファイルが選択されていないことを確認して、正しい実行時間を再実行することです。

42
Shivan Dragon

最新のEclipseJunoバージョンでも同じ問題が発生しました。まず、Eclipse内のバグのようです。 Eclipse内のアクティブウィンドウを閉じた後(spring-configuration.xmlオープンエンドを使用)、このエラーなしでSpringコンテナーを起動できました。したがって、実行構成に依存していました。 「メイン」クラスを開始し、xml-configuationを「実行」しないように注意してください。これで問題は解決しました(Eclipseは実行するxmlを自動的に選択しました)。

3
Michael Kempny