私はSpringの初心者であり、これはStackOverflowに関する私の最初の質問でもあるので、これを可能な限り理解できるようにするつもりです。
this チュートリアルでSpringとMavenを使用してWebサービスクライアントを作成しようとしています:このエラーが発生します:import org.springframework.test.context.junit4を解決できません
ここに私のコードがあります:
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() {
}
}
これが私のpom.xml
必要に応じて。
<?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>
StackOverflowで他のいくつかのソリューションを試しましたが、機能しません。
ありがとう。
spring-boot-starter-test
への依存関係を追加する必要があります。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
現在、最新のスプリングブート1.5.2リリースを使用している場合、@ SpringApplicationConfigurationは使用できなくなり、代わりに@SpringBootTestを使用する必要があります。ここでの参照(@ Spring BootのSpring Boot Starterテスト )
Gradleでは、これは追加することによって行われます
testCompile("org.springframework.boot:spring-boot-starter-test")
次のように依存関係ブロックに:
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
testCompile("junit:junit")
testCompile("org.springframework.boot:spring-boot-starter-test")
}
その後、クラスの先頭にimportステートメントを書くことができるはずです
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
注釈を使用できるようにします。
@RunWith(SpringJUnit4ClassRunner.class)
public class MyAppTest {
}
私はこれが少し遅れて回答されていることを知っていますが、私は同じ問題を抱えていて、2つの方法で修正することができました。
時々、Mavenは依存関係のダウンロードを開始し、終了しません。 .m2フォルダーに移動して、次を入力します。
find . -name *progre*
このコマンドは、タグ「in-progess」を持つすべてのファイルを表示します。これらのファイルは、欠落しているファイルまたは終了していないファイルです。
フォルダーを削除して、依存関係を再度更新してください。