我将在新的J2EE Web应用程序上使用Subversion进行源代码控制。您建议使用什么目录结构来组织代码,测试和文档?
答案 0 :(得分:14)
我通常有
Project Directory src - actual source doc - documentation lib - libraries referenced from source dep - installation files for dependencies that don't fit in lib db - database installation script
在使用Visual Studio时,我不确定它在java世界中的工作原理是否相同。但我通常把东西放在src中的不同项目文件夹中。对于每个源项目,都有一个单独的测试项目。构建文件放在主项目目录中。我通常在那里放一个自述文件,记录如何设置项目,如果它需要的不仅仅是检查。
编辑:这是项目单一工作结帐的结构。对于修订控制系统中的每个分支/标记,它将被复制(请记住,在大多数SVN系统中,副本很便宜)。 Subversion下的上述示例如下所示:
/project
/trunk
/src
/doc
/...
/branches
/feature1
/src
/doc
/...
/feature2
/src
/doc
/...
答案 1 :(得分:3)
我在这里发现了一些可能对你有用的旧问题:
答案 2 :(得分:2)
为了扩展Mendelt Siebenga的建议,我还要添加一个web
目录(用于JSP文件,WEB-INF,web.xml等)。
测试应该放在名为test
的文件夹中,该文件夹是主src
文件夹的兄弟 - 这样,您的单元测试类可以与正在测试的源代码具有相同的包名(以便于在您想要测试受保护的方法或类的情况下,例如......请参阅JUnit FAQ for this,此问题也在Where should I put my test files?上。)
我自己没有太多用处,但是Maven项目还会在src文件夹旁边创建一个resources
文件夹,用于非源代码,您希望与主要源代码一起打包/部署 - 诸如属性文件,资源包等内容。您的里程可能因此而异。
答案 3 :(得分:0)
我使用Eclipse创建J2EE Web应用程序,这将创建以下项目结构:
WebAppName\
\lib
\src
\tests
etc...
然后我会在我们的主干上创建一个名为WebAppNameProject的SVN文件夹。在这个文件夹中,我将创建名为WebAppNameSource,Documentation等的文件夹。在WebAppNameSource文件夹中,我将放置Eclipse生成的项目源。因此,我将在SVN中具有以下文件夹结构:
\svn\trunk\WebAppNameProject
\WebAppNameSource
\lib
\src
\tests
etc...
\Documentation
希望这有帮助。