2011-06-08 103 views
4

我有一个检入到Subversion存储库的Eclipse工作区。但是,如果我更改工作区目录的名称,项目文件不会加载,我必须重新导入它们,并再次设置任何工作区相关设置。 Eclipse是否可以使用相对路径?我不是这个项目的唯一团队成员,不幸的是,另一个人拒绝遵循共同的目录组织方案。Eclipse中的相​​对路径

编辑这些是在这一点上所有的Java项目

编辑有工作区matadata文件夹中的几个文件,但这里是我第一个关于发现该项目

<workspace root>\.metadata\plugins\org.eclipse.core.resources\.projects\ProjectName\.location 

在这个文件“.location”中有一个基于文件的URL。我在Eclipse尝试使用相对路径时崩溃后做了一些研究,并得出结论:相对路径对于URL而言是不可能的。

EDIT这里是的.classpath和.project内容

的.classpath

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
    <classpathentry kind="output" path="bin"/> 
</classpath> 

的.project

<?xml version="1.0" encoding="UTF-8"?> 
<projectDescription> 
    <name>SimpleHelloWorld</name> 
    <comment></comment> 
    <projects> 
    </projects> 
    <buildSpec> 
     <buildCommand> 
      <name>org.eclipse.jdt.core.javabuilder</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
    </buildSpec> 
    <natures> 
     <nature>org.eclipse.jdt.core.javanature</nature> 
    </natures> 
</projectDescription> 

进行配置和测试的目的,我一直在试图让这个w ork只与我们简单的Hello World!样品。

+0

“我不是这个项目上唯一的团队成员,不幸的是另一个人拒绝遵循共同的目录组织方案”。听起来就像你们中只有两个 - 还有两个选择:1)让老板强加一个结构2)改变你的方式来跟随另一个人的方式 – Mawg 2014-12-03 12:59:52

+0

最终目标是要有一个完全便携的设置,基本上就是“结帐并去”。我们最终仅版本化了项目并记录了初始设置的工作区配置。这是几年前的细节,所以细节有点模糊。 – 2014-12-18 19:33:20

回答

3

工作区从来没有真正意义上的源代码控制。也许我误解了你的设置,但是如果你试图在源代码控制中提交工作空间的.metadata文件夹,那么你将面临一堆麻烦!

而不是将您的工作区放在源代码管理中,您应该只放置项目本身。然后通过Subversive或其他Subversion插件,从SCM获取项目。这将使eclipse自动为您创建项目的所有资源和配置,并且只要您拥有所有依赖关系,就应该立即进行编译。

为什么你觉得需要在源代码管理中使用整个元数据文件夹?

如果您正在寻找一种简单的方式来管理构建,那么我建议您查看Ant,Maven或其他此类工具来帮助您。如果你想保留你的设置,他们大多数都具有导出功能,我建议你有一个特殊的项目来存储这些设置并将其置于源代码控制之下,这并不理想,因为它不是自动的,但一旦设置完毕,它们就不应该改变所有设置经常。通常,我甚至会在将项目推送到SCM之前过滤出我的项目中的.settings文件夹和.classpath,并根据需要让eclipse和Maven插件为我重新生成它们。到目前为止,我从来没有真正遇到过从SCM获取我的东西的麻烦。建立一个新的配置稍微长一些,但是通过参考Eclipse安装和所有插件,然后导入配置和项目非常快。

+0

我同意@Newtopian,我没有注意到你是在你的vcs中放置你的工作区。 – Marcelo 2011-06-08 19:36:29

+0

我想这对我们的设置是好的,我只是总是在Eclipse中处理工作区,因为人们会在Visual Studio中处理解决方案。我已经为Eclipse中的其他项目做了这样的工作,但我和我的项目合作伙伴一直都能够保持我们所有的路径相同,所以我从未遇到过这个问题。 – 2011-06-08 20:49:54

3

Eclipse通常使用相对路径。在我的工作场所中,我们使用Subversive插件和Subversion插件。当我们重新进口时,我们没有任何编译问题。

您可能需要编辑项目的.project和.classpath文件,以查看是否存在对绝对位置的引用并将其更改为相对位置。

+0

我已找到绝对路径,但只在工作区文件中。因为它们是基于文件的URL(file:///),所以我不认为相对路径被支持,因为我试图加载工作区时它只会崩溃Eclipse。 – 2011-06-08 14:59:49

+0

@MetalSearGolid可以在您的问题中包含您的.classpath或.project代码,该代码包含基于文件的URL。 – Marcelo 2011-06-08 15:02:00

+0

@MetalSearGolid我也忘了问这些是Java项目还是其他语言。 – Marcelo 2011-06-08 15:12:18

0

它看起来不像Eclipse可以用相对路径做所有事情。 您可以做的一件便宜事情是在不同机器上的相同路径中设置一个完全相同的预配置Eclipse。 在未来云端IDEs如Eclipse Orion可能会解决此类问题...