2012-11-15 14 views
13

mam następującą konfigurację logback.xml:Nie osadzony instrukcja stylów dla pliku: błąd za pomocą logback

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

Gdybym edycji pliku konfiguracyjnego w Eclipse (Juno) pojawia się następujący błąd:

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 

Jeśli usuwam i odtwarzam konfigurację, czasami działa, czasami nie.

Jeśli edytuję plik w Notatniku ++ lub innym edytorze tekstu, działa poprawnie.

Czy to jest problem z zaćmieniem, czy też czegoś brakuje?

Odpowiedz

38

To błąd Eclipse, też to zauważyłem. Upewnij się, że uruchomiłeś odpowiednią konfigurację środowiska wykonawczego Eclipse (np. Gdy klikniesz mały zielony przycisk "Odtwórz" na górze, myśląc, że to on ponownie uruchomi ostatni (poprawny) program wykonawczy, sprawdź (klikając strzałkę w dół obok niego), aby upewnić się, że nie utworzono nowego środowiska wykonawczego).

Co zauważyłem, że mimo że tworzę idealnie prawidłowy czas działania, wskazując na główną klasę Java i wszystko, co uruchomię kilka razy i wszystko jest w porządku, po pewnym czasie, jeśli wybiorę xml plik (ponieważ chciałem go edytować na przykład), a następnie pozostawić zaznaczony, gdy kliknę przycisk "Uruchom", Eclipse utworzy nowy czas wykonywania transformacji XSLT dla tego pliku xml i spróbuje go uruchomić, z niepowodzeniem z wyjątkiem raportu. Rozwiązaniem jest skasowanie tego czasu, upewnij się, że nie mam wybranego pliku xml i uruchom ponownie poprawny czas działania.

+0

Doskonale, dzięki –

+9

Ponieważ Google wskazał mi tutaj ten błąd, dodam, jak się z nim spotkałem - w czasie zaćmienia, używam klawisza "f11" Windows PC jako skrótu do "debugowania". Przeważnie ponownie uruchamia ostatnią rzecz, którą debugowałem. Ale jeśli masz plik XML, ponieważ bieżący plik jest otwarty w edytorze, eclipse "debuguje" plik XML zamiast programu java, nad którym pracujesz. – arcy

+0

Wchodzę z Keplerem i nadal się psuje. Dzięki Bogu znalazłem tę odpowiedź. – elvenbyte

2

Miałem ten sam problem z najnowszą wersją Eclipse Juno. Po pierwsze wydaje się, że jest to błąd w Eclipse. Po zamknięciu aktywnego okna w środowisku Eclipse (z opcją spring-configuration.xml) mogłem uruchomić kontener sprężynowy bez tego błędu. Tak więc zależało to od konfiguracji uruchamiania. Uważaj, aby rozpocząć "główną" klasę i nie próbuj "uruchamiać" konfiguracji xml. To rozwiązało problem dla mnie (Eclipse wybrał automatycznie xml do uruchomienia).

Powiązane problemy