![](/img/trans.png)
[英]Classpath for Maven project in Eclipse - src vs src/main/java
[英]Difference between src/main/java and src/test/java in a Maven project
在创建新的Maven项目时,会创建目录src/main/java
和src/test/java
。 通过一些谷歌搜索,我开始知道我用于测试的main
源代码必须放在src/main/java
。 但是,两个单独目录的目的是什么。 对类似问题的当前答案没有多大帮助。
Maven和其他构建管理环境(例如gradle)基于您通过例如单元测试进行自动化测试的假设。 为此,您需要额外的测试代码,这些代码不应包含在交付给客户的最终产品中。
因此,进入src/main/java
所有内容都默认打包到您为客户提供的产品中,而您放入src/test/java
内容都不是。
出于各种原因,这是一个优势:
将测试代码和生产代码( src/main/java
)分开的原因是,通过仅包含生产代码来构建应用程序更容易。
根据Maven配置,测试类将在src/test
目录中找到,源代码将在src/main
目录中找到。 所以src/main/java
是源代码的根目录, src/test/java/
是test
代码的根目录。
例如:酒店套餐,预订舱位
Source Class file : src/main/java/Hotel/Reservation.java
Test Class file : src/test/java/Hotel/ReservationTest.java
src/main/java
放置用于实际生产的代码。 src/test/java
放置测试用例代码,如junit test。 执行maven包装时会执行这些代码。 这些代码不会打包到war或jar文件中。 这意味着这些代码不适用于实际生产。
另外:单元测试代码不需要在生产中打包。 您不需要也不应该将它们放在src/main/java
文件夹中。
为了使类型更容易查找和使用,避免命名冲突和控制访问,程序员将相关类型的组捆绑到包中。 这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.