如何通过eclipse中的相​​对path导入外部库?

我使用绝对path导入外部库。 但我有两个工作环境,并在Linux和Windows之间切换。 项目从SVN下载。 所以我想知道是否可以通过相对path导入这些库。

谢谢

您应该声明一个variables(Java构buildpath – >添加variables… – >configurationvariables… – >新build)来设置每个系统上的变化path(例如FOO_BAR_HOME)。

您可以将variables添加到库中,并将其编辑为指向您的库,例如

%FOO_BAR_HOME%/lib/foobar.jar 

看看现有的使用variables。

另外,你可以将库放在项目中(例如子文件夹'lib')。 如果你从这个位置添加库('添加jar子…'不'添加外部jar子…'),它将通过相对path添加。

我做得很简单。 我在我的类path中有一个绝对path的库:

 /home/glauco/workspace/ltClubs/lib/swingx-core-1.6.2.jar 

所以我只是删除了它的绝对path,它的工作原理。 现在是相对xD:

 lib/swingx-core-1.6.2.jar 

嘿,我也有这个问题,但我可以提供一个替代的解决scheme,为那些谁想要保持所需的库本地,但在Java项目的目录之外

首先,使用通常的“添加外部库/ Jar”方法添加所需的库。

如果进入Java Project的主目录,应该会看到一个.classpath文件。 用你希望的任何文本编辑器来编辑这个文件,find引用你添加的库的那一行。 然后,说你的库被称为lib.jar并且你的项目之外有一个级别。

可以说,行说:

<classpathentry kind="lib" path="C:/Users/Public/workspace/lib.jar"/>

而不是移动lib.jar到你的项目目录,你可以改变这一行来说:

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

并且您的Java Buildpath将被更新以在当前项目上一级的目录中查找它。

此外,据我所知,如果您运行的是Mac或任何基于Unix的操作系统,那么.classpath文件将被隐藏。 为了访问它,可以尝试从terminal打开它,浏览到Java Project使用的目录(实际的项目文件夹本身,而不是工作区),然后是vi或vim ".classpath" 。 请记住,使用ls甚至ls -a可能行不通,但相信它会在那里。

一旦你将它改变到指定的位置,保存文件,当你回到eclipse时,引用应该仍然有效。 请记住,开头的"./"是必要的。 只有"../"将不起作用,或者至less它不适合我。

这应该是对以前的答案评论,但从这个网站的奇怪的声誉系统迫使我发布一个新的答案,而不是…(没有评论)

您可以使用相对path,但是缺less“./”。

代替

 lib/swingx-core-1.6.2.jar 

你应该使用

 ./lib/swingx-core-1.6.2.jar 

将包含依赖项的文件夹添加到JAVA项目中。 select并右键单击相关性,“添加到生成path”popup作为上下文菜单。 这使用相对path而不是绝对path添加依赖关系。