我使用绝对路径导入外部库。但我有两个工作环境,并在Linux和Windows之间切换。项目从SVN下载。所以我想知道我是否可以通过相对路径导入这些库。如何通过eclipse中的相对路径导入外部库?
感谢
我使用绝对路径导入外部库。但我有两个工作环境,并在Linux和Windows之间切换。项目从SVN下载。所以我想知道我是否可以通过相对路径导入这些库。如何通过eclipse中的相对路径导入外部库?
感谢
你应该声明一个变量(Java构建路径 - >添加变量... - >配置变量... - >新建)来设置各个系统(例如FOO_BAR_HOME)上的变化路径。
比你的变量添加到库和编辑它指向你的图书馆,像
%FOO_BAR_HOME%/lib/foobar.jar
看看对于使用现有的变量。
另外,您可以将库放置在项目中(例如子文件夹'lib')。如果你从这个位置添加库('添加罐子'...'不添加外部罐子...'),它将通过相对路径添加。
我做得很简单。我在我的类路径中有一个绝对路径的库:
/home/glauco/workspace/ltClubs/lib/swingx-core-1.6.2.jar
所以我只是删除它的绝对路径,它的工作原理。现在是相对的xD:
lib/swingx-core-1.6.2.jar
这应该是以前的答案评论,但是从本网站的怪信誉系统迫使我发布一个新的答案,而不是...(没有评论)
你可以使用相对路径,但是你缺少'./'。取而代之的
lib/swingx-core-1.6.2.jar
你应该使用
./lib/swingx-core-1.6.2.jar
嘿,我是有这个问题为好,但我可以为那些谁想要一个替代的解决方案,以保持所需的库本地,但外部 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时,引用应该仍然有效。请记住,"./"
在开始时是必要的。只有"../"
将无法工作,或者至少它不适合我。
将包含依赖关系的文件夹添加到JAVA项目中。选择并右键单击相关性,“添加到构建路径”作为上下文菜单弹出。这使用相对路径而不是绝对路径添加依赖关系。
谢谢Claszen。我用“添加罐子”代替“外部罐子”。有用。 – ablimit 2011-02-13 15:18:06
我需要使用变量的想法,但我无法弄清楚如何使用它。当我点击编辑...在我的一个外部库上时,我得到一个Finder窗口(我在OSX Lion上),它允许我导航到我的罐子,但没有任何东西允许我编辑该路径来使用我的变量。有任何想法吗? – SilithCrowe 2012-02-20 17:16:05