Je suis un débutant au printemps et c’est aussi ma toute première question sur StackOverflow, je vais donc essayer de rendre cela aussi compréhensible que possible.
J'essaie de créer un client de service Web utilisant Spring et Maven sur this tutorial: et j'obtiens le message d'erreur suivant: l'importation org.springframework.test.context.junit4 ne peut pas être résolue.
Voici mon 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() {
}
}
Voici mon pom.xml
au cas où vous en auriez besoin.
<?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>
J'ai essayé d'autres solutions dans StackOverflow mais je ne peux pas le faire fonctionner.
Merci.
Vous devez ajouter une dépendance sur spring-boot-starter-test
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
Maintenant, si vous utilisez la dernière version de spring-boot, 1.5.2 RELEASE, @SpringApplicationConfiguration n'est plus disponible, vous devez utiliser @SpringBootTest. Référence ici (@ test de démarrage de démarrage à ressort dans Spring Boot )
En grade, cela se ferait en ajoutant
testCompile("org.springframework.boot:spring-boot-starter-test")
au bloc des dépendances comme dans:
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
testCompile("junit:junit")
testCompile("org.springframework.boot:spring-boot-starter-test")
}
Après cela, il devrait être possible d'écrire une déclaration d'importation en haut de votre classe
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
Vous permettant d'utiliser l'annotation:
@RunWith(SpringJUnit4ClassRunner.class)
public class MyAppTest {
}
Je sais que cela a été répondu assez tard, mais j’ai eu le même problème et j’ai trouvé que je pouvais résoudre le problème de deux manières.
parfois maven commence à télécharger des dépendances et ne termine pas . Allez dans votre dossier .m2 et tapez:
find . -name *progre*
cette commande vous montrera chaque fichier avec la balise "in-progess", qui sont les fichiers manquants ou non finis.
supprimez le dossier et essayez à nouveau de mettre à jour les dépendances.