【问题标题】:Set Eclipse Build Path Libraries from Project dir从项目目录设置 Eclipse 构建路径库
【发布时间】:2013-02-27 04:38:32
【问题描述】:

我正在使用带有 svn 的 eclipse,当我将一些 .jar 文件添加到我的构建路径时,eclipse 会从根目录添加具有完整路径的 jar。

我确定该文件将始终位于与我的项目相同的目录中名为 lib 的文件夹中:

例如: 〜/库 ~/项目

我可以添加以我的项目目录为参考的文件吗? ../lib 之类的东西?

因为,现在,当有人进行更新时,需要更改构建路径...

非常感谢

【问题讨论】:

标签: eclipse svn buildpath


【解决方案1】:

Window > Preferences > java > Build Path > User Libraries 

你可以定义用户库,你可以添加到你的类路径中。只需说new 输入名称(例如MY_EXTERNAL_LIB_FOO)并点击ok。然后选择它(单击)并点击add JAR...,然后您可以浏览您的罐子并添加您想要的罐子(可以多选)

.classpath 中的条目看起来像这样

<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/MY_EXTERNAL_LIB_FOO"/>

这样你可以为你的项目抽象出库的位置,他们只需要知道名称,Eclipse 需要知道名称的库的位置。

如果您也在项目中对库进行版本控制,那么在编辑构建路径时点击add JARs... 而不是add External JARs... 将提示您显示实际工作区中所有项目的列表,选择您在你的项目。 .classpath 中的条目将与您的项目相关。

所以如果你有以下项目布局

+ MyProject
    + src
    + lib
       some_3rd_party_lib.jar

那么.classpath 中的条目将如下所示

<classpathentry kind="lib" path="lib/some_3rd_party_lib.jar"/>

【讨论】:

  • 主要问题是 lib 不在“内部” MyProject 处于同一级别......外部 JAR 也是如此。
  • 可以,但不应该,当您在 UI 中使用 configure classpath 时,.classpath 会发生变化。在回答您的第一个问题之前,我有一个问题:您是否将 jars 提交到您提到的路径中的 svn,所以当您重新结帐时,您有完全相同的目录结构?
  • 对不起,可能是我的错误。我的存储库中没有 lib/。这是一个外部文件夹,但根据协议,所有项目成员都将该文件夹与项目 svn checkout 文件夹放在同一目录中
  • 好吧,您可以将 libs 目录作为一般项目导入您的工作区(取消检查 Use default location 并浏览到目录的位置 libs),一旦您的工作区中有该项目,您的库将不再是外部的,因此您可以使用add JARs... 添加到构建路径。您和您的团队成员需要为库使用相同的项目名称。您也可以从我的回答 (User Libraries) 中采纳我的第一个建议。使用这两种方法将导致.classpath 中的相对路径/引用,这很好。当然,所有这一切都假设您将.classpath 文件提交到svn!
  • 除此之外,我认为库也应该提交给 svn,以便所有成员都有相同的版本。想象您使用带有一些新 API 的较新版本并基于此提交您的代码,当其他成员更新他们的工作副本时,他们的项目将被破坏。日常构建也会发生同样的情况。版本化的库也是一种协议;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-12
  • 2013-06-02
  • 1970-01-01
  • 1970-01-01
  • 2012-04-12
相关资源
最近更新 更多