2011-02-12 86 views

回答

42

你应该声明一个变量(Java构建路径 - >添加变量... - >配置变量... - >新建)来设置各个系统(例如FOO_BAR_HOME)上的变化路径。

比你的变量添加到库和编辑它指向你的图书馆,像

%FOO_BAR_HOME%/lib/foobar.jar 

看看对于使用现有的变量。

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

+6

谢谢Claszen。我用“添加罐子”代替“外部罐子”。有用。 – ablimit 2011-02-13 15:18:06

+2

我需要使用变量的想法,但我无法弄清楚如何使用它。当我点击编辑...在我的一个外部库上时,我得到一个Finder窗口(我在OSX Lion上),它允许我导航到我的罐子,但没有任何东西允许我编辑该路径来使用我的变量。有任何想法吗? – SilithCrowe 2012-02-20 17:16:05

4

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

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

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

lib/swingx-core-1.6.2.jar 
3

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

你可以使用相对路径,但是你缺少'./'。取而代之的

lib/swingx-core-1.6.2.jar 

你应该使用

./lib/swingx-core-1.6.2.jar 
3

嘿,我是有这个问题为好,但我可以为那些谁想要一个替代的解决方案,以保持所需的库本地,但外部 Java项目的目录。

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

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

比方说行说:

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

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

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

和你的Java构建路径将被更新以在当前项目上一级的目录中查找它。

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

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

0

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