ama*_*ion 85 eclipse ide version-control
我正在运行一个开源java项目,它由依赖树中的多个模块组成.所有这些模块都是subversion存储库中的子目录.对于我们项目的新手来说,在eclipse中手动设置所有这些工作需要做很多工作.
并非所有开发人员都使用eclipse.不过,我们正在考虑检查.classpath和.project文件,以帮助新手入门.这是一个好主意吗?或者这会导致这些文件中的持续冲突?是否有另一种方法可以使项目易于设置在eclipse上?
Von*_*onC 63
肯定是的,正如我在" 您是否将项目文件保留在版本控制下? "中所述.
"加载它,设置它,然后去."
但是......这实际上只适用于最近的Eclipse3.5设置,其中构建路径支持相对路径:

而Eclipse3.6会更好,因为它支持路径变量相对路径中Linked Resources:

(自3.6M5起)
Boz*_*sov 17
绝对没有 - 通过subversion分发项目文件通常是一个糟糕的主意.特别是因为有人可能会以某种奇怪的方式修改它们.项目文档中的一个好页面是一个更好的主意.我们的项目还有许多模块和复杂的设置.我们已经建立了一个汇合页面,描述了如何在每个populer IDE(IntelliJ,Eclipse,NetBeans)上开始使用该项目.Subversion中的README文件包含相同的信息.
我会检查这些文件,以便尽可能简化新用户的入门.用户应该检查项目,并且应该能够在没有额外知识的情况下运行它.对于此文件,规则与项目中的其他文件相同:小心处理它们.您不应该在源代码中放置绝对路径,您应该在配置文件中.
如果以项目从头开始运行的方式检入文件,则应该没有太大的力量来更改它们.
根据我的经验,排除涉及纯粹本地设置的有限情况,一切都应该在源代码控制中.源控制的法则是,所有被推进的东西应该被那些退出的人工作.不幸的是,eclipse常常导致这样的事情发生在.classpath:
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Java SE 7"/>
Run Code Online (Sandbox Code Playgroud)
因此,在我的Mac上,这可行,也许Mac上的某个人拥有相同的JRE,但这对任何其他人都无效.
此外,没有简单的方法来解决这个问题.Eclipse总是会添加它.我想在那里有.classpath文件,因为我们的lib文件夹中有一些第三方JAR,我们关心版本控制,所以我们把它们放在那里,所以新的开发人员不必得到它们.我们正在迁移到托管系统,但仍然检查了托管+非托管依赖项.这意味着所有开发人员只需确保其中有两个目录.classpath.但是,每次提交时都必须修复JRE并在每次提交时更改.classpath.
Eclipse虽然为你做了一些其他的好事..project文件在实例之间通常是相同的,所以包含它.但是关于eclipse源代码控制的最好的事情是运行配置设置.在"运行配置"对话框的"通用"选项卡下,保存配置,以便在调试和运行的收藏夹列表下为同事显示这些配置.对我来说,一堆.launch文件进入.settings目录,所以我们都可以使用它们.
所以我说:.settings目录进入启动配置的源代码控制(*.prefs除外)
.classpath 呆在外面
.project 进来.
| 归档时间: |
|
| 查看次数: |
29600 次 |
| 最近记录: |