Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用eclipse时如何在本地和SVN中布局文件夹_Eclipse_Svn - Fatal编程技术网

使用eclipse时如何在本地和SVN中布局文件夹

使用eclipse时如何在本地和SVN中布局文件夹,eclipse,svn,Eclipse,Svn,我在eclipse和SVN的团队中工作了很多年,从一个开发人员到12个开发人员,我一直是设置文件夹结构的人。我设法让它工作,但我觉得我的文件夹布局远远不是最佳的。很难说我典型的文件夹布局是什么样子的,因为每次看起来都很不一样 我现在刚刚开始另一个大项目,这次我想用专业的方式来做 关于该项目的事实 这些是目前的事实: 所有开发人员都将使用Eclipse 一些人将使用Subclipse将SVN集成到Eclipse中,其他人将使用外部客户机,如Ortoise SVN或svnX 我们正在开发Windo

我在eclipse和SVN的团队中工作了很多年,从一个开发人员到12个开发人员,我一直是设置文件夹结构的人。我设法让它工作,但我觉得我的文件夹布局远远不是最佳的。很难说我典型的文件夹布局是什么样子的,因为每次看起来都很不一样

我现在刚刚开始另一个大项目,这次我想用专业的方式来做

关于该项目的事实 这些是目前的事实:

  • 所有开发人员都将使用Eclipse
  • 一些人将使用Subclipse将SVN集成到Eclipse中,其他人将使用外部客户机,如Ortoise SVN或svnX
  • 我们正在开发Windows和Mac操作系统
  • 我们正在使用ant自动化构建和junit测试
  • 将有多个相互关联的项目:
    • 一个用纯java编写的库,因此它可以在所有已知的java平台上运行
    • 几个java平台的应用程序(J2SE、J2ME、android…)。所有这些应用程序都依赖于前面提到的库
如何处理这个项目? 我总是不确定是否要提交eclipse生成的那些文件(如''项目''和''类路径'')。在以前的项目中,有时我们将它们放入SVN,有时我们没有,两种方法都有各自的优缺点。有一次,我们甚至承诺了整个工作空间,但这似乎是个坏主意

我当然缺少的一个关键概念是Eclipse如何处理其工作区。默认情况下,整个项目位于工作区文件夹内,但也可能存在外部项目,它们以某种我不理解的神奇方式链接

可能的文件夹布局 我不确定如何在本地和存储库中布局项目。我认为有三种可能性:

  • 工作区是本地工作副本的子文件夹(如c:\code\myWorkingCopies\projectXyz\trunk\workspace)
  • 我的工作区是我的工作副本(我使用c:\code\myWorkingCopies\projectXyz\trunk\作为工作区)
  • 我的工作区在某个地方(c:\code\workspace),我的工作副本在另一个地方(c:\code\myWorkingCopies\projectXyz\trunk),我有这些外部项目
  • 还有其他想法吗
我在寻找什么样的答案? 一个虚拟文件夹结构,可能是类似的(我是否只回答我自己的问题?)

  • 树干
    • 计划
      • 项目A
      • 项目B
以及在哪里签出的提示,如:

  • 将中继/项目签出到c:\code…)
还有一些指南,比如

  • 从不上载类型为x、y、z的文件

我最近开始使用Subclipse,并且有一种适合我的方法。我们正在使用PHP应用程序,所以我通过Eclipse项目向导创建了一个新的SVN项目,选择“通过SVN签出项目”。然后,我使用项目配置向导配置该项目,并选择PHP作为项目类型。我为项目命名,以便在我的工作区中,项目名称位于项目资源管理器的顶层

我从不提交专门为Eclipse创建的任何内容,特别是因为我们团队中并非每个人都使用Eclipse。这意味着排除.project文件和任何其他Eclipse创建的文件

使用此方法的另一个好处是,可以将多个存储库签出到工作区中。我们为我们的项目使用两个存储库位置(出于我不想详细介绍的特定原因),因此这使我可以轻松方便地同时处理这两个“项目”

我相信还有其他方法可以做到这一点,但我发现这是使用Subversion和Eclipse最简单的方法。

我们有类似的设置(Mac、Linux和Windows用户),我们的文件夹结构是:

  • 树干
    • 代码
      • 项目A
      • 项目B
我们确实签入了.project、.settings和.classpath文件以及代码,但没有签入工作区。真正的问题与构建路径有关。如果您解决了这些问题,就不会有头痛的问题,也就不需要在哪个目录中签出内容

一些提示:

  • 如果您的项目相互引用,请确保它们使用生成路径的“项目”选项卡相互引用。这将使对其他项目的所有引用保持相对状态(../projectA而不是/opt/trunk/projectA,这将中断其他项目)
  • 如果您有任何引用的外部库,请创建用户库,并让每个人使用相同的名称创建一个。我们使用JBoss,因此我们让每个人都创建一个名为JBoss的用户库,该库引用本地JBoss安装中的JAR。这样,JBoss安装在哪里并不重要,只要你有那个用户库,你就可以去了。您的项目将引用用户库名称,但实际的用户库信息是每个用户的本地信息
  • 确保每个人都知道第1条和第2条提示。这里唯一一次事情搞砸的时候就是有人忘记了通过Project选项卡进行引用,而不是直接链接到jar

  • 所有这些都适用于EclipseSVN插件或不适用于EclipseSVN插件

    在Macromedia Dreamweaver和Eclipse中,我一直在做以下工作:

    Working folder: 
    C:\Development\
        \ProjectA
        \ProjectB
        \ProjectC
    
    每个项目都有自己的存储库,并且每次签出都只使用/trunk/


    注意:对于Eclipse,不要创建SVN存储库项目,只需像平常一样创建“Java App”或“PHP App”项目,并使用外部程序签入该文件夹。Eclipse随后将自动检测.svn信息,并允许您使用svn工具,同时仍使用正确的工作区。

    工作区和存储库不应相互关联

    这个工作区真的很好
    c:\dev\
       \ProjectAtrunk\
       \ProjectBbranch4\