从项目目录设置Eclipse生成路径库

从项目目录设置Eclipse生成路径库,eclipse,svn,buildpath,Eclipse,Svn,Buildpath,我将eclipse与svn一起使用,当我将一些.jar文件添加到构建路径时,eclipse将使用根目录的完整路径添加jar 我确信该文件将始终位于与我的项目相同目录下名为lib的文件夹中: 例如: ~/lib ~/proj 我可以添加以项目目录为参考的文件吗?像../lib之类的 因为,现在,当有人进行更新时,构建路径需要更改 非常感谢 Window > Preferences > java > Build Path > User Libraries 您可以定义用户库

我将eclipse与svn一起使用,当我将一些.jar文件添加到构建路径时,eclipse将使用根目录的完整路径添加jar

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

例如: ~/lib ~/proj

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

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

非常感谢

Window > Preferences > java > Build Path > User Libraries 
您可以定义用户库,这些库可以添加到类路径中。只需说
new
输入一个名称(例如
MY\u EXTERNAL\u LIB\u FOO
),然后点击
ok
。然后选择它(简单单击)并点击
addjar…
,然后您可以浏览您的JAR并添加所需的JAR(可以多选)

.classpath
中的条目如下所示

<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/MY_EXTERNAL_LIB_FOO"/>
然后,
.classpath
中的条目如下所示

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

Window > Preferences > java > Build Path > User Libraries 
您可以定义用户库,这些库可以添加到类路径中。只需说
new
输入一个名称(例如
MY\u EXTERNAL\u LIB\u FOO
),然后点击
ok
。然后选择它(简单单击)并点击
addjar…
,然后您可以浏览您的JAR并添加所需的JAR(可以多选)

.classpath
中的条目如下所示

<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/MY_EXTERNAL_LIB_FOO"/>
然后,
.classpath
中的条目如下所示

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


主要问题是lib不在“内部”,MyProject处于同一级别。。。外部JAR也是如此。您可以,但不应该,
.classpath
在用户界面中使用
配置类路径时会发生更改。在回答您的第一个问题之前,我有一个问题:您是否按照您提到的路径将JAR提交给svn,因此当您执行新签出时,您拥有完全相同的目录结构?对不起,可能是我的错误。我的存储库中没有lib/文件。这是一个外部文件夹,但根据协议,所有项目成员都将该文件夹与project svn checkout folderwell位于同一目录中。您可以将libs目录作为常规项目导入工作区(取消选中
使用默认位置
,并浏览到目录
libs
)的位置,一旦您的工作区中有了该项目,您的LIB将不再是外部的,因此您可以使用
addjars…
添加到构建路径。您和您的团队成员需要为LIB使用相同的项目名称。您也可以按照我的回答中的第一个建议(
用户库
)。使用这两种方法将在
中引入相对路径/引用。classpath
开关很好。当然,所有这些都假设您将
.classpath
文件提交给svn!除此之外,我认为LIB也应该提交给svn,以便所有成员都有相同的版本。想象一下,你使用了一个新版本和一些新的API,并在此基础上提交你的代码,当其他成员更新他们的工作副本时,他们的项目将被删除。同样的情况也可能发生在日常构建中。版本化libs也是一种协议;-)主要的问题是lib不在“内部”,MyProject处于同一级别。。。外部JAR也是如此。您可以,但不应该,
.classpath
在用户界面中使用
配置类路径时会发生更改。在回答您的第一个问题之前,我有一个问题:您是否按照您提到的路径将JAR提交给svn,因此当您执行新签出时,您拥有完全相同的目录结构?对不起,可能是我的错误。我的存储库中没有lib/文件。这是一个外部文件夹,但根据协议,所有项目成员都将该文件夹与project svn checkout folderwell位于同一目录中。您可以将libs目录作为常规项目导入工作区(取消选中
使用默认位置
,并浏览到目录
libs
)的位置,一旦您的工作区中有了该项目,您的LIB将不再是外部的,因此您可以使用
addjars…
添加到构建路径。您和您的团队成员需要为LIB使用相同的项目名称。您也可以按照我的回答中的第一个建议(
用户库
)。使用这两种方法将在
中引入相对路径/引用。classpath
开关很好。当然,所有这些都假设您将
.classpath
文件提交给svn!除此之外,我认为LIB也应该提交给svn,以便所有成员都有相同的版本。想象一下,你使用了一个新版本和一些新的API,并在此基础上提交你的代码,当其他成员更新他们的工作副本时,他们的项目将被删除。同样的情况也可能发生在日常构建中。版本化libs也是一种协议;-)