Maven으로 간단한 Java 프로젝트를 빌드하려고합니다. 내 pom-file에서 JUnit 4.8.2를 유일한 종속성으로 선언합니다. Still Maven은 JUnit 버전 3.8.1 사용을 주장합니다. 어떻게 고치나요?
문제는 컴파일 실패로 나타납니다 : “패키지 org.junit가 존재하지 않습니다”. 이것은 내 소스 코드의 import 문 때문입니다. JUnit 4. *의 올바른 패키지 이름은 org.junit. *이고 버전 3. *에서는 junit.framework. *입니다.
http://maven.apache.org/plugins/maven-surefire-plugin/examples/junit.html 에서 문제의 원인에 대한 문서를 찾았다 고 생각 하지만 거기에있는 조언은 Maven 전문가를위한 것 같습니다. 나는 무엇을 해야할지 이해하지 못했다.
답변
방문자를 돕기위한 완전한 솔루션으로 답변을 얻으려면 :
해야 할 일은 junit 종속성을 pom.xml
. 잊지 마세요<scope>test</scope>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
답변
@Dennis Roberts : 당신은 절대적으로 옳았습니다 : 제 테스트 클래스는 src / main / java에있었습니다. 또한 JUnit 용 POM에있는 “범위”요소의 값은 “테스트”였지만, 그렇게되어 있어야합니다. 문제는 Eclipse에서 테스트 클래스를 만들 때 실수로 인해 src / test / java의 src / main / java에 생성되었습니다. 이것은 “mvn eclipse : eclipse”를 실행 한 후 Eclipse의 프로젝트 탐색기보기에서 더 쉽게 볼 수있게되었습니다. 그러나 귀하의 의견은 제가 처음으로 보게 한 것입니다. 감사.
답변
내 문제는 내 문제 를 해결하는 일반 구조 폴더를 사용하도록 만든이 줄을 제거 pom.xml
하는 줄 <sourceDirectory>${basedir}/src</sourceDirectory>
이 내 안에있는 줄이었습니다.
답변
junit에 대한 pom.xml에서 범위 태그 제거가 작동했습니다.
답변
이 종속성을 pom.xml
파일에 추가 하십시오.
http://mvnrepository.com/artifact/junit/junit-dep/4.8.2
<!-- https://mvnrepository.com/artifact/junit/junit-dep -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit-dep</artifactId>
<version>4.8.2</version>
</dependency>
답변
나는 같은 문제가 있었다. 내가 한 것은-pom.xml 파일에서 junit 3.8에 대한 종속성을 삭제하고 junit 4.8에 대한 새 종속성을 추가했습니다. 그런 다음 maven을 청소하고 maven을 설치했습니다. 트릭을했습니다. 확인하기 위해 maven 설치 후 project-> properties-build path-> maven 종속성으로 이동하여 이제 junit 3.8 jar가 사라 졌음을 확인했습니다! 대신 junit 4.8 jar가 나열됩니다. 멋있는!!. 이제 내 테스트는 매력처럼 진행됩니다 ..이게 도움이 되길 ..
답변
제 사건은 단순한 감독이었습니다.
POM 파일 대신 노드 <dependencies>
아래에 JUnit 종속성 선언을 넣었습니다 . 올바른 방법은 다음과 같습니다.<dependencyManagement/>
<project/>
<project>
<!-- Other elements -->
<dependencies>
<!-- Other dependencies-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
</dependencies>
<project>