有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是Eclipse项目的一部分。在Git/Mercurial中可以安全地忽略元数据吗?

我们在包含多个Java项目的Eclipse工作区中有Eclipse RCP应用程序的代码。我们将Mercurial与一个简单的。只需*。类(但同样的问题也适用于Git)

即使对代码做一点小小的更改,也会导致许多文件丢失。元数据正在更改

我想排除部分或全部的错误。来自版本控制的元数据。如果我们完全排除它,工作空间就会丢失

有人知道我们可以安全排除什么吗?或者,如果我们把代码拉到一台新的计算机上,我们怎么能重新创建它呢


共 (5) 个答案

  1. # 2 楼答案

    我个人知道的文件有:

    • 版本。伊尼(不太激动人心)
    • 。插件/org。日食jdt。核心/变量和容器。dat(类路径变量)
    • 。插件/org。日食果心资源/。项目/*/。位置(工作区中的项目)

    在某个地方,我有一个Eclipse工作区,用于测试一些与Eclipse相关的工具,这些工具被严重削减,但仍然有效。我看看能不能把它挖出来

  2. # 3 楼答案

    我经常保持沉默。项目和。类路径,不仅对git安全而且有用

    。上课和上课。设置在我的gitignore中。它们分别是生成的和特定于个人的

  3. # 4 楼答案

    工作区元数据真的不应该保存在源代码管理中。基本工作区配置可以通过team project set共享

  4. # 5 楼答案

    元数据和工作空间

    我永远不会共享.metadata文件夹。事实上,除非你有特殊原因,否则我甚至不会共享工作区文件夹,而是与git单独共享每个项目。这样.metadata文件夹将始终位于git存储库的父文件夹中,您不必考虑是否需要忽略它:

    |-- workspace/
    |  \-- .metadata/
    |  |-- yourProjectOne/
    |  |  \-- .git/
    |  |  |-- .project
    |  |  |-- src/
    |  |  |-- ...
    |  |-- yourProjectTwo/
    |  |  \-- .git/
    |  |  |-- .project/
    |  |  |-- src/
    |  |  |-- ...
    

    特定项目

    您可能应该始终共享.project文件,而不要共享.settings/文件。这个.classpath可能取决于你的环境,但我也不建议分享它,因为它可能会导致冲突(例如,如果一个用户使用openjdk,而另一个用户使用sun jdk,.settings包含eclipse的首选项和设置,并且更改很多,因此不应该共享它。如果在从git克隆项目后正确导入该项目,那么也不会有任何问题

    关于.project文件,eclipse documentation声明如下:

    The purpose of this file is to make the project self-describing, so that a project that is zipped up or released to a server can be correctly recreated in another workspace.

    以及:

    If a new project is created at a location that contains an existing project description file, the contents of that description file will be honoured as the project description. One exception is that the project name in the file will be ignored if it does not match the name of the project being created. If the description file on disk is invalid, the project creation will fail.

    我还建议使用Maven,因为这将在依赖关系管理和应用程序方面为您节省很多问题。类路径

    Maven

    Maven项目的主要区别在于,可以将项目作为Maven导入->;“现有Maven项目”,因此只需要共享pom。xml和git中的.project文件。Eclipse随后将自动为您创建.classpath, .settings/文件。因此,显然你不需要分享它们。如果pom发生变化。只需运行Maven->;“更新项目配置”和Maven->;“更新依赖项”

    没有Maven

    应该共享.project文件,而不是.settings/文件夹。你可以考虑分享。但是它可能会导致如上所述的冲突。我建议也不要分享。使用以下方法导入项目:

    克隆git存储库后,只需使用导入->;“来自工作区的现有项目”eclipse将支持.project文件,但会重新创建.classpath.settings/文件。导入之后,您需要从Eclipse手动配置类路径(每次您的团队想要使用另一个库时)

    如果你不分享。项目文件,则无法使用Eclipse导入项目。您需要先使用项目向导创建一个新项目,然后选择导入“常规->;文件系统”,这将把所有文件复制到您的工作区中。这可能不是您想要的,因为这意味着您无法将git存储库克隆到工作区中,您必须将其克隆到其他地方,然后从那里导入。因此,你应该一直分享你的想法。项目文件

    如果您对此解释有任何建议或不同意,请留下一个推荐信。我希望这对其中一方有所帮助