17

私は次の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 ++または別のテキストエディタでファイルを編集すると、正常に機能します。これは日食の問題ですか、それとも何かが足りないのですか?

4

2 に答える 2

46

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

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

于 2012-11-16T08:47:00.270 に答える
3

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

于 2013-07-07T20:27:14.937 に答える