【问题标题】:Can't both add a JAR to my Java project in Eclipse and have it seen in Git不能在 Eclipse 中将 JAR 添加到我的 Java 项目并在 Git 中看到它
【发布时间】:2013-03-18 22:35:49
【问题描述】:

我是 Java 新手。我有一个项目,并且有一个外部 JAR 文件(Apache POI)我想添加到它。所以我创建了一个名为vendor 的目录并将文件放在那里并转到 Eclipse 并将文件添加到构建路径中,在 Eclipse 中一切看起来都很好,但是当我签出 git repo 时,Git 似乎不知道新目录和文件。怎么回事?

另外,我想确保当朋友下载并打开项目时,她将不必重新配置构建路径,因此必须进行一些配置,但我不知道。所以我也想得到帮助:)

谢谢!

更新

这是我的 .gitiginore 内容:

*.class

# Library development interface for
# testing methods et cetera.
src/ui

# Package Files #
*.jar
*.war
*.ear

# IntelliJ specific files/directories
out
.idea
*.ipr
*.iws
*.iml
atlassian-ide-plugin.xml

.DS_Store

# Eclipse specific files/directories
.metadata
bin/

# NetBeans specific files/directories
.nbattrs

【问题讨论】:

  • 你不应该将二进制依赖项放在 Git 中,你应该使用像 Maven 这样的依赖管理系统,或类似的东西。
  • 好的,所以你的 .gitignore 文件屏蔽了 JAR 文件,这就是为什么你的 JAR 在执行git status 时不显示的原因。您可以选择通过删除该行来开始跟踪 JAR(非常糟糕!),或者您可以开始使用依赖项管理工具,正如我在回答中提到的那样。

标签: java eclipse macos apache-poi


【解决方案1】:

如果您的 vendor 目录与您的项目文件夹无关(我认为这是 Git 管理的),那么 Git 永远不会知道它的存在。您需要在 Git 管理的根目录下的某个位置创建文件夹。

就与同事共享您的工作区配置而言,完全可以将项目的.project.classpath 文件签入Git。

然而,一个更可行的替代方法是简单地使用像 Maven 这样的依赖管理工具。有了它,您唯一需要检查版本控制的是 POM 文件。然后,当您的同事签出项目时(假设她使用的是安装了 m2e 的最新版本的 Eclipse),系统会自动为您的同事设置依赖项。

【讨论】:

  • 是的,它在 git repo 文件夹中。这里发生了非常奇怪的事情。
  • 刚刚检查过这里,Eclipse 可能会以某种方式对我的 .gitignore 做一些事情。当我删除它时,一切都出现在 Git 中,但该文件没有提及新目录。
  • 是吗? git status 为相关文件夹报告什么。您是否看到未跟踪的文件夹?
  • 新的东西没有出现。我通过暂时删除 .gitignore 文件、添加新内容并带回 .gitginore 解决了这个问题
  • 你不应该这样做。请将您的 .gitignore 添加到问题中。
【解决方案2】:

如您所见,您忽略了 .gitignore (*.jar) 中的所有 JAR 文件。如果你只想添加这个特定的jar并继续忽略其他jar文件,你可以使用命令强制添加该jar

git add -f vendor.jar 

并提交。否则从 gitignore 中删除该条目并添加并提交。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多