2016-08-26 4 views
1
package my.helloworld; 

import org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; 
import org.junit.Test; 

public class HomeControllerTest { 

} 

위 코드는 테스트 코드입니다. 이 빈 코드조차도 컴파일되지 않습니다. 다음은 내 pom.xml 파일입니다 :maven이 테스트 케이스에서 패키지를 찾을 수 없습니다.

내가 mvn jetty:run 또는 mvn clean install 또는 mvn test을 실행할 때
<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>my.helloworld</groupId> 
    <artifactId>spring-helloworld</artifactId> 
    <packaging>jar</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>spring-helloworld</name> 
    <url>http://maven.apache.org</url> 
    <properties> 
    <jdk.version>1.6</jdk.version> 
    <spring.version>3.2.13.RELEASE</spring.version> 
    <jstl.version>1.2</jstl.version> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>${jstl.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <version>3.1.0</version> 
     <scope>provided</scope> 
    </dependency> 
    </dependencies> 

    <build> 
    <plugins> 
     <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.3</version> 
    <configuration> 
     <source>${jdk.version}</source> 
     <target>${jdk.version}</target> 
    </configuration> 
     </plugin> 

     <!-- embedded Jetty server, for testing --> 
     <plugin> 
    <groupId>org.eclipse.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>9.2.11.v20150529</version> 
    <configuration> 
     <scanIntervalSeconds>10</scanIntervalSeconds> 
     <webApp> 
     <contextPath>/spring3</contextPath> 
     </webApp> 
    </configuration> 
     </plugin> 

     <!-- configure Eclipse workspace --> 
     <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-eclipse-plugin</artifactId> 
    <version>2.9</version> 
    <configuration> 
     <downloadSources>true</downloadSources> 
     <downloadJavadocs>true</downloadJavadocs> 
     <wtpversion>2.0</wtpversion> 
     <wtpContextName>spring3</wtpContextName> 
    </configuration> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

지금, 나는 다음과 같은 오류 얻을 : 패키지 조직을 찾을 수 없다는

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:testCompile (default-testCompile) on project spring-helloworld: Compilation failure: Compilation failure: 
[ERROR] /home/kay/Projects/Spring/MVC/HelloWorld/spring-helloworld/src/test/java/my/helloworld/HomeControllerTest.java:[3,1] package org.springframework.test.web.servlet.result.MockMvcResultMatchers does not exist 
[ERROR] /home/kay/Projects/Spring/MVC/HelloWorld/spring-helloworld/src/test/java/my/helloworld/HomeControllerTest.java:[7,17] package org.junit does not exist 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 

이전, 그것은주고 있었다 오류가 발생했습니다. 내가 여기서 무엇을 놓치고 있니?

답변

0

importspring-test 모듈의 일부입니다. 테스트 종속성으로 추가하십시오. 그렇지 않으면 클래스 경로에 없으므로 컴파일러에서 찾을 수 없습니다.

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-test</artifactId> 
    <version>${spring.version}</version> 
    <scope>test</scope> 
</dependency> 

그리고 org. *에서 가져온 것을 가져 오지 않으면 컴파일러는 패키지 org를 찾지 못합니다. 그러나 더 정확하게 말하면 코드와 오류 메시지가 필요합니다.

+0

이 내용을 추가했지만 도움이되지 않았습니다. – Kartik

+0

같은 오류 메시지가 나타나면 제대로 추가하지 않았습니다. 죄송합니다, 이것에 관해 더 많은 것을 말할 필요가 없습니다 ... 클래스는 Spring 3.2부터 존재하므로 오래된 버전을 가지고있을 가능성은 희박합니다 ... –

0

<scope>test</scope>을 제거하여 작동 여부를 확인 했습니까?

+0

예, 작동하지 않았습니다. – Kartik

관련 문제