java - Mavn執行測試時<scope>test</scope>導致錯誤
問題描述
學習maven test時,執行mvn test時,會找不到org.junit在pom.xml中已經引入
<dependencies><dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.2</version></dependency><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope></dependency> </dependencies>
報錯信息如下
文件目錄如下
hello目錄下存在如下文件
其中GreeterTest為測試
執行mvn compile 或者mvn package也會報錯
當把pom.xml中junit依賴的scope去掉時,編譯和測試都能成功。
<dependencies><dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.2</version></dependency><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version></dependency> </dependencies>
造成這個的原因是什么?maven在執行compile時同時編譯*Test的文件嗎,那么為什么mvn test也不能成功?mvn test不是會自動執行*Test的文件嗎?而且scope test確定了測試時會引入junit
問題解答
回答1:這個問題其實你因為你不熟悉maven文件結構所致.測試類一般是放在src/test/java,而不是放在src/main/java下.maven在編譯的時候,src/main/java下是不引用<scope>test</scope>的jar,而編譯src/test/java下的測試這會引用<scope>test</scope>的jar
相關文章:
1. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””3. docker鏡像push報錯4. 前端 - @media query 使用出現的問題?5. 利用IPMI遠程安裝centos報錯!6. html5和Flash對抗是什么情況?7. node.js - mongodb查找子對象的名稱為某個值的對象的方法8. phpstudy8.1沒集成mysql-front9. html - css氣泡,實現“倒三角(不知道算不算三角了)”可透明的。10. 運行python程序時出現“應用程序發生異常”的內存錯誤?

網公網安備