【发布时间】:2011-02-12 19:25:36
【问题描述】:
我使用绝对路径导入了外部库。但我有两个工作环境,在 Linux 和 Windows 之间切换。项目从 SVN 下载。所以我想知道我是否可以通过相对路径导入这些库。
【问题讨论】:
标签: eclipse
我使用绝对路径导入了外部库。但我有两个工作环境,在 Linux 和 Windows 之间切换。项目从 SVN 下载。所以我想知道我是否可以通过相对路径导入这些库。
【问题讨论】:
标签: eclipse
您应该声明一个变量(Java 构建路径 -> 添加变量... -> 配置变量... -> 新建)来设置每个系统上的更改路径(例如 FOO_BAR_HOME)。
您可以将变量添加到库中并对其进行编辑以指向您的库,例如
%FOO_BAR_HOME%/lib/foobar.jar
查看现有变量的使用情况。
或者,您可以将库放在项目中(例如子文件夹“lib”)。如果您从该位置添加库(“添加罐子...”而不是“添加外部罐子...”),它将通过相对路径添加。
【讨论】:
%FOO_BAR_HOME%/lib/ACTIVEMQ.jar
嘿,我也遇到了这个问题,但我可以为那些想要本地但在外部保留所需库的人提供替代解决方案strong> Java 项目的目录。
首先,使用通常的“添加外部库/Jar”方法添加您想要的库。
如果您进入 Java 项目的主目录,您应该会看到一个 .classpath 文件。使用您希望的任何文本编辑器进行编辑,并查找引用您添加的库的行。然后,假设您的库名为 lib.jar,并且您在项目之外拥有它的一层。
假设这条线说:
<classpathentry kind="lib" path="C:/Users/Public/workspace/lib.jar"/>
您可以将这一行更改为:
<classpathentry kind="lib" path="./../lib.jar"/>
并且您的 Java Build 路径将更新为在当前项目的上一级目录中查找它。
另外,据我所知,如果您运行的是 Mac 或任何基于 Unix 的操作系统,那么 .classpath 文件将被隐藏。为了访问它,您可以尝试从终端打开它,方法是导航到您的 Java 项目使用的目录(实际的项目文件夹本身,而不是工作区),然后是 vi 或 vim ".classpath"。请记住,使用 ls 甚至 ls -a 可能不起作用,但相信它会在那里。
将其更改到指定位置后,保存文件,当您返回 Eclipse 时,该引用应该仍然有效。请记住,开头的"./" 是必要的。仅仅拥有"../" 是行不通的,或者至少对我没有用。
【讨论】:
我做的很简单。我的类路径中有一个绝对路径的库:
/home/glauco/workspace/ltClubs/lib/swingx-core-1.6.2.jar
所以我只是从中删除了绝对路径,它就可以工作了。现在是相对的 xD:
lib/swingx-core-1.6.2.jar
【讨论】:
ant 命令构建时,这对我有用。但是当我从 eclip 运行它时,我得到一个错误,说它找不到库
这应该是对上一个答案的评论,但是这个网站奇怪的声誉系统迫使我发布一个新的答案......(没有 cmets)
您可以使用相对路径,但其中缺少“./”。
代替
lib/swingx-core-1.6.2.jar
你应该使用
./lib/swingx-core-1.6.2.jar
【讨论】:
将包含依赖项的文件夹添加到 JAVA 项目中。选择并右键单击依赖项,“添加到构建路径”作为上下文菜单弹出。这使用相对路径而不是绝对路径添加依赖项。
【讨论】: