我将使用 Subversion 对新的 J2EE Web 应用程序进行源代码控制。你会推荐什么目录结构来组织代码、测试和文档?
4 回答
我通常有
项目目录 src - 实际来源 doc - 文档 lib - 从源代码引用的库 dep - 不适合 lib 的依赖项的安装文件 db - 数据库安装脚本
在使用 Visual Studio 时,我不确定这在 Java 世界中是否同样有效。但我通常把东西放在 src 的不同项目文件夹中。对于每个源项目,都有一个单独的测试项目。构建文件位于主项目目录中。我通常也会在其中放一个 README,记录如何设置项目,如果它需要的不仅仅是签出。
编辑:这是项目的单个工作结帐的结构。它将为您的修订控制系统中的每个分支/标签复制(请记住,在大多数 SVN 系统中,副本很便宜)。Subversion 下的上述示例如下所示:
/project
/trunk
/src
/doc
/...
/branches
/feature1
/src
/doc
/...
/feature2
/src
/doc
/...
我在这里发现了一些对您来说可能很有趣的老问题:
为了扩展 Mendelt Siebenga 的建议,我还将添加一个web
目录(用于 JSP 文件、WEB-INF、web.xml 等)。
测试应该放在一个名test
为主文件夹的同级src
文件夹中 - 这样您的单元测试类可以与正在测试的源代码具有相同的包名称(以方便您想要测试受保护的方法或类的情况,例如示例...请参阅JUnit 常见问题解答,以及有关我应该将测试文件放在哪里?)的问题。
我自己并没有太多用处,但是 Maven 项目还将resources
在 src 文件夹旁边创建一个文件夹,用于存放您想要与主要源代码一起打包/部署的非源代码 - 例如属性文件、资源捆绑包等。您的里程可能会有所不同。
我使用 Eclipse 创建 J2EE Web 应用程序,这将创建以下项目结构:
WebAppName\
\lib
\src
\tests
etc...
然后我会在我们的主干上创建一个名为 WebAppNameProject 的 SVN 文件夹。在此文件夹中,我将创建名为 WebAppNameSource、Documentation 等的文件夹。在 WebAppNameSource 文件夹中,我将放置由 Eclipse 生成的项目源。因此,我将在 SVN 中具有以下文件夹结构:
\svn\trunk\WebAppNameProject
\WebAppNameSource
\lib
\src
\tests
etc...
\Documentation
希望这可以帮助。