我对使用文件夹main和Maven中的文件夹测试之间的区别感到有点困惑。截至目前,我只是将我的源代码复制并粘贴到它们中,并且工作正常。我不知道另一个文件夹与主文件夹完全相同的意义是什么?有人可以向我解释一下。
此外:
由于
答案 0 :(得分:1)
main
文件夹包含您的应用程序代码和资源,test
文件夹包含测试代码和资源。所以不要在那里复制你的应用程序代码,而只复制测试。然后,测试阶段会自动将测试源添加到类路径中。
对于install
和compile
之间的区别,请查看https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html。基本上安装还包含编译和更多目标(如执行测试,打包,安装到本地存储库。
generate
将成为目标,正确无误。 archetype
是maven-archetype-plugin
的缩写形式,表示包含目标的插件。默认情况下,名称模式maven-*-plugin
或*-maven-plugin
的插件可以通过这种方式缩短。
答案 1 :(得分:1)
src
和test
文件夹之间的分离是一种标准做法,其中两者下的相同包结构保证com.some.Class
找到它的方式,并且在com.some.ClassTest
单元测试运行时它是可见的。 install
和compile
之间的差异。阅读the Maven lifecycle周围的文档。基本上每次调用一个构建阶段时,在生命周期中定义的每个其他构建阶段都会按照定义的顺序进行调用。