15

我将使用 Subversion 对新的 J2EE Web 应用程序进行源代码控制。你会推荐什么目录结构来组织代码、测试和文档?

4

4 回答 4

14

我通常有

项目目录
  src - 实际来源
  doc - 文档
  lib - 从源代码引用的库
  dep - 不适合 lib 的依赖项的安装文件
  db - 数据库安装脚本

在使用 Visual Studio 时,我不确定这在 Java 世界中是否同样有效。但我通常把东西放在 src 的不同项目文件夹中。对于每个源项目,都有一个单独的测试项目。构建文件位于主项目目录中。我通常也会在其中放一个 README,记录如何设置项目,如果它需要的不仅仅是签出。

编辑:这是项目的单个工作结帐的结构。它将为您的修订控制系统中的每个分支/标签复制(请记住,在大多数 SVN 系统中,副本很便宜)。Subversion 下的上述示例如下所示:

/project
    /trunk
        /src
        /doc
        /...
    /branches
        /feature1
            /src
            /doc
            /...
        /feature2
            /src
            /doc
            /...
于 2008-09-03T12:11:07.973 回答
3

我在这里发现了一些对您来说可能很有趣的老问题:

于 2008-09-03T12:16:24.853 回答
2

为了扩展 Mendelt Siebenga 的建议,我还将添加一个web目录(用于 JSP 文件、WEB-INF、web.xml 等)。

测试应该放在一个名test为主文件夹的同级src文件夹中 - 这样您的单元测试类可以与正在测试的源代码具有相同的包名称(以方便您想要测试受保护的方法或类的情况,例如示例...请参阅JUnit 常见问题解答,以及有关我应该将测试文件放在哪里?)的问题。

我自己并没有太多用处,但是 Maven 项目还将resources在 src 文件夹旁边创建一个文件夹,用于存放您想要与主要源代码一起打包/部署的非源代码 - 例如属性文件、资源捆绑包等。您的里程可能会有所不同。

于 2008-09-03T12:41:22.190 回答
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 

希望这可以帮助。

于 2008-09-03T12:17:31.780 回答