Ich bin ein Neuling bei Spring und dies ist auch meine erste Frage zu StackOverflow. Ich werde versuchen, dies so verständlich wie möglich zu machen.
Ich versuche, einen Web-Service-Client mit Spring und Maven in this tutorial: zu erstellen, und ich erhalte folgende Fehlermeldung: Der Import org.springframework.test.context.junit4 kann nicht aufgelöst werden
Hier ist mein Code:
package demo;
import hello.WsClientApplication;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; //this won't import
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = WsClientApplication.class)
public class WsClientApplicationTests {
@Test
public void contextLoads() {
}
}
Hier ist mein pom.xml
falls Sie es brauchen.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>gs-consuming-web-service</artifactId>
<version>0.1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-core</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- tag::wsdl[] -->
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.12.3</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<schemaLanguage>WSDL</schemaLanguage>
<generatePackage>hello.wsdl</generatePackage>
<schemas>
<schema>
<url>http://wsf.cdyne.com/WeatherWS/Weather.asmx?wsdl</url>
</schema>
</schemas>
</configuration>
</plugin>
<!-- end::wsdl[] -->
</plugins>
</build>
</project>
Ich habe einige andere Lösungen in StackOverflow ausprobiert, aber ich kann es nicht zum Laufen bringen.
Vielen Dank.
Sie müssen eine Abhängigkeit von spring-boot-starter-test
hinzufügen:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
Wenn Sie den neuesten Spring-Boot-Modus 1.5.2 RELEASE verwenden, ist @SpringApplicationConfiguration nicht mehr verfügbar. Stattdessen müssen Sie @SpringBootTest verwenden. Referenz hier (@ Spring Boot Starter Test in Spring Boot )
In der Regel würde dies durch Hinzufügen erfolgen
testCompile("org.springframework.boot:spring-boot-starter-test")
zum Abhängigkeitenblock wie in:
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
testCompile("junit:junit")
testCompile("org.springframework.boot:spring-boot-starter-test")
}
Danach sollte es möglich sein, eine Importanweisung an die Spitze Ihrer Klasse zu schreiben
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
So können Sie die Annotation verwenden:
@RunWith(SpringJUnit4ClassRunner.class)
public class MyAppTest {
}
Ich weiß, dass dies ziemlich spät beantwortet wurde, aber ich hatte das gleiche Problem und konnte feststellen, dass ich es auf zwei Arten beheben konnte.
manchmal startet Maven das Herunterladen von Abhängigkeiten und wird nicht beendet .. __ Gehen Sie zu Ihrem .m2-Ordner und geben Sie Folgendes ein:
find . -name *progre*
dieser Befehl zeigt Ihnen jede Datei mit dem Tag "in-progess" an. Dabei handelt es sich um fehlende oder noch nicht abgeschlossene Dateien.
löschen Sie den Ordner und versuchen Sie, die Abhängigkeiten erneut zu aktualisieren.