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

abl*_*mit 48 eclipse

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

谢谢

FrV*_*aBe 48

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

您可以将变量添加到库并编辑它以指向您的库,例如

%FOO_BAR_HOME%/lib/foobar.jar
Run Code Online (Sandbox Code Playgroud)

查看现有变量的用法.

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

  • 谢谢Claszen.我使用"添加罐子"而不是"外部罐子".有用. (6认同)
  • 我需要使用变量的想法,但我无法弄清楚如何使用它.当我在我的一个外部库上单击Edit ...时,我得到一个Finder窗口(我在OSX Lion上),它允许我导航到我的jar,但没有任何东西可以让我编辑该路径来使用我的变量.有任何想法吗? (2认同)
  • @FrVaBe另外,我做了一个发现:除了添加然后编辑变量之外,还可以单击"添加变量..."然后"扩展..."添加一个少一步的库(我知道,谁在乎呢,对吧?我正在添加很长的图书馆列表,所以它有点帮助.:P) (2认同)

alj*_*ljo 6

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

首先,使用通常的"添加外部库/ Jar"方法添加所需的库.

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

让我们说这条线说:

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

lib.jar您可以更改此行,而不是转到Project的目录:

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

并且将更新您的Java构建路径以在当前项目上一级目录中查找它.

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

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