如何在eclipse中通过相对路径导入外部库?

时间:2011-02-12 19:25:36

标签: eclipse

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

谢谢

5 个答案:

答案 0 :(得分:48)

您应该声明一个变量(Java Build Path - > Add Variable ... - > Configure Variable ... - > New)来设置每个系统上的更改路径(例如FOO_BAR_HOME)。

您可以将变量添加到库中,然后将其编辑为指向库,例如

%FOO_BAR_HOME%/lib/foobar.jar

查看现有的变量以供使用。

备选方案,您可以将库放在项目中(例如子文件夹'lib')。如果您从此位置添加库('添加Jars ...'NOT'添加外部JAR ...'),它将按相对路径添加。

答案 1 :(得分:6)

嘿,我也遇到了这个问题,但我可以为那些想要在本地保留所需库 之外的人提供替代解决方案strong> Java项目的目录。

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

如果您进入Java项目的主目录,您应该看到.classpath文件。使用您希望的任何文本编辑器进行编辑,并查找引用您添加的库的行。然后,假设您的库名为lib.jar,并且您在项目之外有一个级别。

让这条线说:

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

您可以将此行更改为:

,而不是将lib.jar移动到项目目录中。

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

将更新您的Java Build路径,以便在当前项目上一级目录中查找它。

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

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

答案 2 :(得分:4)

我做得很简单。我的类路径中有一个绝对路径的lib:

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

所以我只是删除了它的绝对路径并且它有效。现在它是相对的xD:

lib/swingx-core-1.6.2.jar

答案 3 :(得分:3)

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

你可以使用相对路径,但是你错过了&#39; ./'在它。

而不是

lib/swingx-core-1.6.2.jar

你应该使用

./lib/swingx-core-1.6.2.jar

答案 4 :(得分:0)

将包含依赖项的文件夹添加到JAVA项目中。选择并右键单击依赖项,&#34;添加到构建路径&#34;弹出作为上下文菜单。这会使用相对路径而不是绝对路径添加依赖项。