Spring Boot: EmbeddedWebApplicationContext kann aufgrund fehlender EmbeddedServletContainerFactory-Bean nicht gestartet werden


173

Ich bin völlig neu im Frühling und habe angefangen, die offiziellen Anleitungen von dieser Seite zu machen: erstellen https://spring.io/guides

Ich möchte diesen Leitfaden machen: erstellen https://spring.io/guides/gs/scheduling-tasks/

Ich bekomme folgende Ausnahme:

2014-02-14 16:25:21.614  INFO 9032 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.scheduling.annotation.SchedulingConfiguration' of type [class org.springframework.scheduling.annotation.SchedulingConfiguration$$EnhancerByCGLIB$$5b48d763] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2014-02-14 16:25:21.638  INFO 9032 --- [           main] .c.l.ClasspathLoggingApplicationListener : Application failed to start with classpath: [file:/C:/work/Spring/SpringTutorial/target/classes/, file:/C:/work/apache-maven-3.0.3/repo/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter/1.0.0.RC1/spring-boot-starter-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot/1.0.0.RC1/spring-boot-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-core/4.0.0.RELEASE/spring-core-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-context/4.0.0.RELEASE/spring-context-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-autoconfigure/1.0.0.RC1/spring-boot-autoconfigure-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-logging/1.0.0.RC1/spring-boot-starter-logging-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/jcl-over-slf4j/1.7.5/jcl-over-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/jul-to-slf4j/1.7.5/jul-to-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/log4j-over-slf4j/1.7.5/log4j-over-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/ch/qos/logback/logback-classic/1.0.13/logback-classic-1.0.13.jar, file:/C:/work/apache-maven-3.0.3/repo/ch/qos/logback/logback-core/1.0.13/logback-core-1.0.13.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-web/1.0.0.RC1/spring-boot-starter-web-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-tomcat/1.0.0.RC1/spring-boot-starter-tomcat-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/apache/tomcat/embed/tomcat-embed-core/7.0.47/tomcat-embed-core-7.0.47.jar, file:/C:/work/apache-maven-3.0.3/repo/org/apache/tomcat/embed/tomcat-embed-logging-juli/7.0.47/tomcat-embed-logging-juli-7.0.47.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-web/4.0.0.RELEASE/spring-web-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/aopalliance/aopalliance/1.0/aopalliance-1.0.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-aop/4.0.0.RELEASE/spring-aop-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-beans/4.0.0.RELEASE/spring-beans-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-webmvc/4.0.0.RELEASE/spring-webmvc-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-expression/4.0.0.RELEASE/spring-expression-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-databind/2.3.1/jackson-databind-2.3.1.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-annotations/2.3.0/jackson-annotations-2.3.0.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-core/2.3.1/jackson-core-2.3.1.jar, file:/C:/work/apache-maven-3.0.3/repo/commons-lang/commons-lang/2.2/commons-lang-2.2.jar]
Exception in thread "main" org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:140)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:476)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:124)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:658)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:355)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:920)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:909)
    at hu.kumite.Application.main(Application.java:17)
Caused by: org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.getEmbeddedServletContainerFactory(EmbeddedWebApplicationContext.java:190)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:163)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137)
    ... 7 more

Die Anwendungsstarterklasse lautet wie folgt:

@ComponentScan
@EnableAutoConfiguration
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(ScheduledTasks.class, args);
    }
}

Wie Sie sehen können, enthält die Hauptmethode eine kommentierte Zeile. Ich habe bereits ein Tutorial erstellt, nämlich dieses: https://spring.io/guides/gs/consuming-rest/ Es läuft. Ich kann die ScheduledTasks-App jedoch nicht ausführen. Dies ist die folgende:

@EnableScheduling
public class ScheduledTasks {

    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");

    @Scheduled(fixedRate = 5000)
    public void reportCurrentTime() {
        System.out.println("The time is now " + dateFormat.format(new Date()));
    }
}

Ich verwende Eclipse und führe die Hauptdatei von Application.java als Anwendung aus. Könnte mir bitte jemand helfen?

Antworten:


66

Der Planungsleitfaden ist keine Web-App, daher haben Sie wahrscheinlich einige schimmelige Inhalte in Ihrer pom.xml aus dem REST-Leitfaden? Wenn Sie die Anweisungen genau befolgen, sollte es funktionieren. Ein weiteres potenzielles Problem mit dem oben veröffentlichten Code besteht darin, dass Ihre @EnableAutoConfigurationKlasse nicht im Kontext verwendet wird, sondern nur als Hauptmethode (was für den Planungsleitfaden möglicherweise kein Problem darstellt, wahrscheinlich jedoch für eine Reihe anderer).


1
Ich mache alle Tutorials in einem Eclipse-Projekt, das mit einem riesigen Pom endet. Ich habe es mit dem Pom aus dem Tutorial in ein separates Projekt eingefügt und jetzt funktioniert es perfekt. Danke für Ihre Hilfe! Was ist, wenn ich einen Scheduler in einer Spring-Webanwendung mit dieser API verwenden möchte? Ich kann das nicht machen
Kumite

Natürlich können Sie das tun. Aber dann würden Sie alle Abhängigkeiten für eine Webanwendung benötigen.
Dave Syer

1
Aber dann habe ich die Ausnahme, die Sie in der Thread-Öffnung sehen können. Entschuldigung, ich glaube ich vermisse etwas. Soll ich die "schlechte" pom.xml hier posten?
Kumite

1
Ein "guter" Pom hätte "Spring-Boot-Starter-Web" (der Einfachheit halber) oder alle im Starter enthaltenen Abhängigkeiten einzeln aufgelistet. Überprüfen Sie einfach, ob Sie sie haben. Stellen Sie außerdem sicher, dass Sie ein @EnableAutoConfigurationin Ihr SpringApplication(das obige Code-Snippet nicht).
Dave Syer

6
Funktioniert perfekt, ich kann dir nicht genug danken. Und damit es funktioniert, musste ich die Klassen hinzufügen, die in einem Object-Array zur Ausführungsmethode von SpringApplication ausgeführt werden sollen:SpringApplication.run(new Object[]{Application.class, ScheduledTasks.class}, args);
Kumite

48

Ein Scan der @SpringBootApplicationShow, der die folgenden Anmerkungen enthält:

@Configuration
@ComponentScan
@EnableAutoConfiguration

Sie können dies also auch tun:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
       SpringApplication.run(ScheduledTasks.class, args);
    }
}

29

Verwenden Sie diese in Ihrer pom.xml:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
</dependency>

oder dieses :

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

1
Das Hinzufügen von 2 Gläsern hat auch bei mir funktioniert. Ich musste jedoch beide verwenden
Fafore Tunde

1
@FaforeTunde ist kein gutes Zeichen. Sehen Sie sich Ihren Abhängigkeitsbaum an und prüfen Sie, ob Sie das <scope> -Tag verwendet haben.
Pasha GR

27

Ich hatte mehrere Anwendungsklassen in einem Spring Boot-Projekt, in denen das Web gestartet wurde, und wollte vermeiden, dass eine Webumgebung für eine von ihnen konfiguriert wird. Deshalb habe ich sie manuell wie folgt konfiguriert:

@SpringBootApplication
public class Application
{
    public static void main(String[] args)
    {
        new SpringApplicationBuilder(Application.class)
            .web(false)
            .run(args);
    }
}

UPDATE für Spring Boot 2 und höher:

@SpringBootApplication
public class Application
{
    public static void main(String[] args)
    {
        new SpringApplicationBuilder(Application.class)
            .web(WebApplicationType.NONE)
            .run(args);
    }
}

23

Versuche dies

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {
    public static void main(String[] args) {
       SpringApplication.run(ScheduledTasks.class, args);
    }
}

20

Der Fehler deutet darauf hin, dass die Anwendung, die Sie ausführen möchten, keine Instanz von Apache Tomcat instanziieren kann. Stellen Sie sicher, dass Sie die Anwendung mit Tomcat ausführen.

Wenn nach dem Überprüfen aller Abhängigkeiten dasselbe Problem auftritt, versuchen Sie, Folgendes in Ihre Konfigurationsklasse aufzunehmen

@Bean
public EmbeddedServletContainerFactory servletContainer() {
    TomcatEmbeddedServletContainerFactory factory = 
                  new TomcatEmbeddedServletContainerFactory();
    return factory;
 }

Wenn Sie eine externe Instanz von Tomcat verwenden (insbesondere für Intellij), besteht das Problem möglicherweise darin, dass die IDE versucht, den eingebetteten Tomcat zu starten. Entfernen Sie in diesem Fall Folgendes aus Ihrer pom.xml und konfigurieren Sie den externen Tomcat mithilfe des Assistenten zum Konfigurieren von Konfigurationen.

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-tomcat</artifactId>
     <scope>provided</scope>
</dependency> 

2
Gute Antwort! Es hat mein Problem gelöst. Es funktionierte jedoch in Intellij. Als ich das Glas mit dem Maven Shade Plugin erstellt habe, wurde derselbe Klassenpfad erstellt, sodass ich nicht wirklich verstehe, was passiert ist.
Lehrling

14

Hinzufügen

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

8

Wenn diese Ausnahme bei der Verwendung von Intellij auftritt und Sie versuchen, die Anwendung mit der runSchaltfläche zu starten . Versuchen Sie stattdessen, die Anwendung über die Befehlszeile zu starten. Stellen Sie beispielsweise sicher, dass Sie sich im richtigen Verzeichnis befinden (Verzeichnis mit Ihrer POM-Datei), vorausgesetzt, es handelt sich um einen springbootAnwendungslaufmvn spring-boot:run Dies hat den Trick für mich getan.

Zusätzlich habe ich auch gesehen, dass dieser Fehler auftritt, wenn Ihre Federanwendung von einer anderen Anwendung abhängt. In diesem Fall musste ich zuerst die andere Anwendung starten und dann ausführen.


1
Neustart von IntelliJ (Ultimate 2016.3 hier) hat es für mich
behoben

Zusätzlich zu der oben angegebenen Marquis-Lösung habe ich sichergestellt, dass ich die richtige Version der Kombination aus mvn und jdk ausgewählt habe, um denmvn spring-boot:run
lnarasimhan

6

Hinzufügen der Anmerkung @SpringBootApplicationBevor die Starterklasse dieses Problem für mich behoben hat (im Wesentlichen kann diese Fehlermeldung bedeuten @SpringBootApplication, dass Sie nirgendwo eine markierte Klasse haben, Sie benötigen mindestens eine).

@SpringBootApplication
public class AppStarter {

    public static void main(String[] args) {
        SpringApplication.run(AppStarter.class, args);
    }
}

4

Ich hatte ähnliche Probleme, wenn sich die Hauptmethode in einer anderen Klasse befindet als die, die an SpringApplcation.run () übergeben wurde.

Die Lösung wäre also, die Zeile zu verwenden, die Sie auskommentiert haben:

public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

3

Wenn Sie es als einzelnes Glas verpacken und es sich nicht um eine Web-App handelt, versuchen Sie, den App-Kontext wie folgt zu laden.

@SpringBootApplication

ApplicationContext ctx = new AnnotationConfigApplicationContext(Main.class);

Oder verwenden Sie das folgende Plugin, um es als einzelnes Glas zu verpacken

             <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

Sie können die externen Konfigurationen angeben, indem Sie den folgenden Befehl zum Ausführen verwenden

java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties

/ http://docs.spring.io/spring-boot/docs/current/reference/htmlboot-features-external-config.html#boot-features-external-config-application-property-files

Beachten Sie, dass @PropertySource("classpath:test.properties")die Parameter überschrieben werden , wenn Sie die Eigenschaften als Argumente übergeben, ohne sie einzuschließen


Das Hinzufügen des Spring-Boot-Maven-Plugins und des <Phase> -Pakets </ Phase> und das anschließende Ausführen der App als MVN Clean-Paket hat bei mir funktioniert.
Hipokito

2

Wenn Sie es erfolgreich über die Befehlszeile ausführen gradle bootRun, während Sie es mit der Befehlszeile gradle jarin die JAR-Datei packen , um es mit der Befehlszeile auszuführen, ist es java -jar build/libs/demo.jarleider mit der Ausnahme fehlgeschlagen: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory beanIn diesem Fall müssen Sie die Aufgabe bootRepackagedes Gradle-Plugins verwenden spring-boot, um spezielle zu generieren lauffähiges Glas.

  • Setup 1

    $ gradle clean bootRepackage

  • Setup 2

    $ java -jar build / libs / demo.jar


Ich habe keine Ahnung warum, habe gradle clean bootRepackage mir aber geholfen. Zuvor habe ich den gesamten Cache und den Build-Ordner manuell bereinigt.
Andrii Abramov

2

A SpringApplicationwird versuchen, den richtigen Typ für ApplicationContextSie zu erstellen . Standardmäßig wird ein AnnotationConfigApplicationContextoder AnnotationConfigEmbeddedWebApplicationContextverwendet, je nachdem, ob Sie eine Webanwendung entwickeln oder nicht.

Der Algorithmus zur Bestimmung einer "Webumgebung" ist ziemlich simpel (basierend auf dem Vorhandensein einiger Klassen). Sie können verwenden, setWebEnvironment(boolean webEnvironment)wenn Sie die Standardeinstellung überschreiben müssen.

Es ist auch möglich, die vollständige Kontrolle über den ApplicationContextTyp zu übernehmen , der durch Aufrufen verwendet wird setApplicationContextClass(…​).

[Tipp] setWebEnvironment(false)Bei Verwendung SpringApplicationinnerhalb eines JUnit-Tests ist es häufig wünschenswert, einen Anruf zu tätigen.


Wie verwenden Sie setWebEnvironment beim Erstellen der Anwendung über SpringApplication.run(Application.class, args);?
Tgdavies

@tgdavies siehe meine Antwort oben, können Sie dieSpringApplicationBuilder
Robert Hunt

2

Das Hinzufügen der Spring Boot Starter-Abhängigkeit hat meinen Fehler behoben.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Dies ist erforderlich, wenn Sie den Tomcat als eingebetteten Server starten möchten.


2

Überprüfen Sie, ob Ihre pom.xml vorhanden ist

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
    </dependency>

Ich hatte ein Problem wie dieses ; Mangels dieser Abhängigkeit


Dies behebt mein Problem.
Lenhhoxung

1

In meinem Fall haben wir die Annotation @Profile neu hinzugefügt , um die TestApplication-Klasse im Produktionsmodus und die Application-Klasse im Testmodus zu ignorieren.

Leider haben wir vergessen, die folgende Zeile in die application.properties-Dateien einzufügen:

spring.profiles.active=test
or
spring.profiles.active=production

Ohne diese Konfiguration wurde kein Profil geladen, was den weniger bekannten Spring Error verursachte.


Ich möchte hinzufügen, dass Sie diesen Fehler auch erhalten können, wenn Sie sowohl die @ Profil-Annotation angeben als auch das Profil an jvm übergeben.
schlank

1

Dies sollte durch ein Abhängigkeitsproblem verursacht werden. Im Allgemeinen müssen Sie die Abhängigkeit überprüfen.


1

Das Problem ist es in dieser Klasse:

@ComponentScan
@EnableAutoConfiguration
public class Application {
    public static void main(String[] args) {
    //SpringApplication.run(Application.class, args);
    SpringApplication.run(ScheduledTasks.class, args);
    }
}

Der richtige Weg, um Ihre Anwendung zu starten, ist:

@SpringBootApplication
@EnableScheduling
public class Application {
    public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    }
}

1

Ein klares Repository ist eine mögliche Lösung.

Windows -> Alle Unterordner im Maven-Repository löschen:

C: \ Users \ YourUserName.m2 \ repository


Für alle, die dem PluralSight-Tutorial zu Java Spring folgen, ist dies die einzige Lösung, die für mich funktioniert hat!
Janac Meena

1

Ich habe mich an das gleiche Problem gehalten. Da ich Main.class und die folgenden Anmerkungen in Spring-Boot mit Maven nicht definiert habe:

@SpringBootApplication
public class Main {
    public static void main(String args[]){
        SpringApplication.run(Main.class, args);
    }
}

0

Das Problem ist der Ausschluss von Starter Tomcat. Ich habe versucht, ihn auszuschließen und vert.x zu verwenden. Wenn ich also mit Spring Admin integriere, wurden Probleme gestartet

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

0

Ich hatte diese Ausnahme in der folgenden Situation.

In meinem POM befanden sich Eigenschaften:

<properties>
    <java.version>1.8</java.version>
    <!-- The main class to start by executing java -jar -->
    <start-class>com.scmaer.java.microservice.Application</start-class>
    <cxf.version>3.1.5</cxf.version>
    <olingo.version>2.0.10</olingo.version>
    <spring.boot.version>1.4.7.RELEASE</spring.boot.version>
    <spring.boot.plugin.version>1.5.8.RELEASE</spring.boot.plugin.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <skipTests>false</skipTests>
</properties>

und der Name und Pfad meiner Anwendungsklasse ("Startklasse") war falsch.


0

Ich hatte ein ähnliches Problem und das Problem war eine kaputte Maven-Repo-JAR-Datei. In meinem Fall war die tomcat-embed-coreJAR-Datei defekt. Also habe ich es aus dem Maven Repo entfernt und es aktualisiert, um es erneut herunterzuladen.


] Bitte verwenden Sie Formatierungswerkzeuge, um Ihre Antwort richtig zu bearbeiten und zu formatieren.
Morse

0

In meinem Fall geschieht dies, nachdem der Ressourcenordner von der pomVerwendung des folgenden Codes ausgeschlossen wurde.

<resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
                <exclude>*/*.properties</exclude>
            </excludes>
        </resource>
</resources>

Durch das Kommentieren dieses Codes wurde mein Code gestartet.


0

Eine andere Ursache für dieses Problem ist die Beschädigung von Maven-Repository-Gläsern, sodass Sie den folgenden Befehl verwenden können, um das Problem zu lösen:

mvn dependency:purge-local-repository

0

Wahrscheinlich fehlt Ihnen @SpringBootApplication in Ihrer Spring Boot Starter-Klasse.

@SpringBootApplication
public class LoginSecurityAppApplication {

    public static void main(String[] args) {
        SpringApplication.run(LoginSecurityAppApplication.class, args);
    }

}

0

Ich verwende gradle, met scheint ein Problem zu haben, wenn ich einen Befehl habe. LineRunner verwendet Kafka-Themen und einen Endpunkt für die Integritätsprüfung, um eingehende Hooks zu empfangen. Ich habe 12 Stunden damit verbracht, herauszufinden, dass ich mybatis-spring-boot-Starter mit Spring-Boot-Starter-Web verwendet habe, und sie haben einige Konflikte. In letzter Zeit habe ich mybatis-spring, mybatis und spring-jdbc direkt eingeführt und nicht den mybatis-spring-boot-Starter, und das Programm hat gut funktioniert.

hoffe das hilft

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.