【发布时间】:2013-02-27 04:38:32
【问题描述】:
我正在使用带有 svn 的 eclipse,当我将一些 .jar 文件添加到我的构建路径时,eclipse 会从根目录添加具有完整路径的 jar。
我确定该文件将始终位于与我的项目相同的目录中名为 lib 的文件夹中:
例如: 〜/库 ~/项目
我可以添加以我的项目目录为参考的文件吗? ../lib 之类的东西?
因为,现在,当有人进行更新时,需要更改构建路径...
非常感谢
【问题讨论】:
我正在使用带有 svn 的 eclipse,当我将一些 .jar 文件添加到我的构建路径时,eclipse 会从根目录添加具有完整路径的 jar。
我确定该文件将始终位于与我的项目相同的目录中名为 lib 的文件夹中:
例如: 〜/库 ~/项目
我可以添加以我的项目目录为参考的文件吗? ../lib 之类的东西?
因为,现在,当有人进行更新时,需要更改构建路径...
非常感谢
【问题讨论】:
下
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"/>
【讨论】:
configure classpath 时,.classpath 会发生变化。在回答您的第一个问题之前,我有一个问题:您是否将 jars 提交到您提到的路径中的 svn,所以当您重新结帐时,您有完全相同的目录结构?
Use default location 并浏览到目录的位置 libs),一旦您的工作区中有该项目,您的库将不再是外部的,因此您可以使用add JARs... 添加到构建路径。您和您的团队成员需要为库使用相同的项目名称。您也可以从我的回答 (User Libraries) 中采纳我的第一个建议。使用这两种方法将导致.classpath 中的相对路径/引用,这很好。当然,所有这一切都假设您将.classpath 文件提交到svn!