Maven中main和test文件夹之间的区别

时间:2016-04-25 21:28:52

标签: maven

我对使用文件夹main和Maven中的文件夹测试之间的区别感到有点困惑。截至目前,我只是将我的源代码复制并粘贴到它们中,并且工作正常。我不知道另一个文件夹与主文件夹完全相同的意义是什么?有人可以向我解释一下。

此外:

  • 安装和编译之间有什么区别。
  • 所以对于这个命令:mvn archetype:generate,是生成目标吗?什么是原型?

由于

2 个答案:

答案 0 :(得分:1)

main文件夹包含您的应用程序代码和资源,test文件夹包含测试代码和资源。所以不要在那里复制你的应用程序代码,而只复制测试。然后,测试阶段会自动将测试源添加到类路径中。

对于installcompile之间的区别,请查看https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html。基本上安装还包含编译和更多目标(如执行测试,打包,安装到本地存储库。

generate将成为目标,正确无误。 archetypemaven-archetype-plugin的缩写形式,表示包含目标的插件。默认情况下,名称模式maven-*-plugin*-maven-plugin的插件可以通过这种方式缩短。

答案 1 :(得分:1)

  • srctest文件夹之间的分离是一种标准做法,其中两者下的相同包结构保证com.some.Class找到它的方式,并且在com.some.ClassTest单元测试运行时它是可见的。
  • installcompile之间的差异。阅读the Maven lifecycle周围的文档。基本上每次调用一个构建阶段时,在生命周期中定义的每个其他构建阶段都会按照定义的顺序进行调用。
  • Documentation about what is Archetype