【问题标题】:Prevent the need to "add external jars" when pulling from Git repository从 Git 存储库中提取时无需“添加外部 jar”
【发布时间】:2015-12-06 16:00:01
【问题描述】:
我对版本控制相当陌生,只知道使用外部库的表面知识,所以如果我的问题是初学者的问题,请原谅我。
我正在为需要在 Eclipse 中使用外部 API 的软件编写插件,因此,为了访问该 API,我在 Eclipse 中“添加外部 jars”到“java 构建路径”。
我敢打赌,这不是实现这一目标的首选方法。当我将项目推送到 git 然后将其拉到另一台机器上时,我需要手动重新定义外部 jar 在该机器上的位置。
我可以通过将 Eclipse 特定文件添加到 .gitignore 来解决这个问题吗?
如果有,是哪些?我以前从未直接使用过 Maven,这是它或类似服务可以解决的问题吗?
【问题讨论】:
标签:
java
eclipse
git
maven
【解决方案1】:
要了解解决方案,您必须了解 .gitignore 和 maven 的用途。
为什么是 .gitignore?
Git 用于跟踪对项目中每个文件所做的更改。但是,您的项目中可能有其他文件不需要跟踪。例如,.metadata 由 eclipse 创建,用于保存有关工作区设置或首选项的信息。由于您不打算修改它,而且您的项目也不需要它,因此该元数据文件应放在 .gitignore list 中。更多信息请查看.gitignore。
因此 .gitignore 不能满足您将自定义外部 JAR 链接到您的项目的目的。
为什么选择 Maven?
Maven 是一个构建管理工具。在开发应用程序的过程中,我们面临着各种常见的问题和活动。
- 您的应用程序可能需要多个外部 jar。例如,假设 spring 框架需要自己的 jar 文件来编译和运行项目。
- 另一个问题是为这些 jar 文件提供依赖项。例如,spring jar 可能依赖于其他 jar 文件,您有责任确保也提供所有依赖的 jar 文件。
Maven 有助于简化这个过程。与该 Maven 一起帮助构建、发布和部署您的项目。
Maven 使用名为 pom.xml 的 XML 文件包含项目构建的配置设置。通常我们定义项目依赖项(例如:项目的依赖 jar 文件)、要执行的 maven 插件和项目描述/版本等。这里是 link 以进一步阅读有关 maven 的信息。
为了满足您的要求,您必须在 pom.xml 中提供有关外部 jar 的详细信息,并将您的项目与 pom.xml 一起推送。当您在另一台机器上拉取存储库时,只需运行maven commands,它会自动在您的本地机器上下载所有需要的 jar。
【解决方案2】:
将此添加到您的 .gitignore 文件中
/*.jar
另外,我只是好奇,您为什么要使用外部库以及哪个?最好使用 maven 配置项目,以便可以集中配置依赖项。如果您想创建企业本地存储库,请使用现有产品之一(即 Artifactory、Nexus),而不是使用这种方式。这只是一个建议。