我注意到许多项目的结构如下:
我目前使用以下约定(因为我的项目是100% java):
我目前不使用Maven,但我想知道这是否是Maven约定,或者是否还有其他原因。有人能解释一下为什么现在第一个版本如此流行吗?我是否应该接受这个新的惯例?
克里斯
发布于 2010-06-09 10:01:56
主要的好处是test目录作为src的子目录,其目录结构与main中的目录结构相同。
- resources
- test
- java
- TestRootLevelPackageClass.java
- resources
RootLevelPackageClass的所有包私有方法都是可见的,即从TestRootLevelPackageClass中可以测试。由于测试代码也是源代码,所以它的位置应该位于src目录下。
发布于 2010-06-09 09:53:19
是的,这是Maven会议。
即使您的项目是100% Java (与Maven btw一样典型),您也经常有资源文件(根据Maven约定转到src/main/resources ),或者web应用程序的东西,或者.所有这些都很容易适应Maven系统。
如果您对当前的构建系统(不管是什么)感到满意,就没有理由切换到Maven。否则,或者如果启动一个新项目,您可以评估您的选项,包括Maven。
发布于 2010-06-09 13:24:16
其他人已经告诉你这是一个Maven会议,我会回答你的问题:
绝对没有。当然,将代码片段分开以分离根文件夹是有益的,但是通常您可以通过
- test
- com.org.net
- YourTest.class
- lib
- bin
- resources
而不是。实际上,Maven做了一件很重要的事情,这实际上是的错误,:它想要向源代码存储库中添加二进制内容,而源代码存储库只用于文本内容!所有二进制内容都应该在源代码存储库之外进行管理,其中包括web应用程序中的图像等等。
但是,让我们假设您已经决定生活在有点臭的Maven生态系统中;那么您当然应该尽可能严格地遵循Maven惯例。
https://stackoverflow.com/questions/3004710
复制相似问题